JP2002530780A - 再構成可能なプログラマブルロジックデバイスコンピュータシステム - Google Patents
再構成可能なプログラマブルロジックデバイスコンピュータシステムInfo
- Publication number
- JP2002530780A JP2002530780A JP2000584401A JP2000584401A JP2002530780A JP 2002530780 A JP2002530780 A JP 2002530780A JP 2000584401 A JP2000584401 A JP 2000584401A JP 2000584401 A JP2000584401 A JP 2000584401A JP 2002530780 A JP2002530780 A JP 2002530780A
- Authority
- JP
- Japan
- Prior art keywords
- programmable logic
- reconfigurable
- computer
- processing unit
- central processing
- 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
- 238000013461 design Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 142
- 238000000034 method Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 15
- 238000013468 resource allocation Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 2
- 238000009434 installation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
システムの能力を高められるように最適化して与えられたアプリケーションを実
施するようプログラマブルロジックが再構成されるコンピュータシステムに関す
る。
ッサである。マイクロプロセッサは特定のアプリケーションに対応してカスタマ
イズすることができない固定的な命令セットをもって構成されている。マイクロ
プロセッサは、アプリケーションのいずれのソフトウェア実行機能をも仮想的に
実行させることができる点において柔軟である。しかしながら、所与の機能の実
行速度は、マイクロプロセッサ上において実行すると一般的に低下する。これは
、ソフトウェアで実行される機能はマイクロプロセッサの一般命令セットを使用
するにはかなり複雑なものであるためである。
トフォーム上でのみ動作する。アプリケーション技術者が所与のマイクロプロセ
ッサ上で動作するようにアプリケーションを作成することを決定した場合、アプ
リケーション技術者が使用することができる命令セットはマイクロプロセッサ上
に永久的に常駐するものの1つとして限定される。従ってアプリケーション技術
者は、アプリケーションがハードウェアプラットフォームに適しているか、また
はソフトウェアプラットフォームに適しているかを選択する必要がある。ハード
ウェアに基づいたシステムが非柔軟かつ非効率的であるためしばしばソフトウェ
アプラットフォームが好まれるが、多くの場合において、マイクロプロセッサ上
に常駐する一般命令セットが特定のタイプのアプリケーションソフトウェアに対
して不充分な性能をもたらす。例えば、グラフィックスを多用するアプリケーシ
ョンは、通常例えば3D処理等のアプリケーションのうちの特定のグラフィック
要素に特別に適したハードウェアを必要とする。ハードウェアプラットフォーム
用のプログラミングに関する複雑性を回避するため技術者はソフトウェアに頼る
が、これによってアプリケーションの速度が大幅に低下する危険性がある。
の概念が提案された。再構成可能なコンピュータの目的は、カスタマイズするこ
とができるハードウェアを使用して並行性ならびに高速実行時間を提供すること
によって従来のコンピュータより性能を向上させることである。プログラマブル
ロジックデバイスを使用することによって柔軟性を増加させることができ、これ
はこの種のプログラマブルロジックデバイスがデバイス内に新しい構成データを
ロードすることによって再構成し得るためである。このことにより再構成可能な
コンピュータにおいて、従来のコンピュータのような単一の命令セットではなく
多数の命令セットを付加することができる。コンピュータが再構成可能なロジッ
クを使用する場合、一定数のハードウェアを使用してより多くの機能を実行する
ことができる。
を最適化するよう再プログラムすることができるプログラマブルロジックデバイ
スに基づいた、改善された再構成可能なコンピュータを提供することである。
ロジックに基づいた再構成可能なコンピュータシステムを提供することによって
解決される。
ン技術者は、そのコンピュータ上でどのリソースが使用可能であるかについて配
慮する必要はない。単一のプログラマブルロジックデバイスのサイズまたはプロ
グラマブルロジックデバイスの集合に基づいたハードウェア集約が使用される。
アプリケーションがコンパイルされると、ハードウェア内で実行されるアプリケ
ーションの機能は、プログラマブルロジックデバイスと同じサイズかまたはこれ
より小さいサイズの、構成データを含むブロックに分割される。
り多くのハードウェアリソースが追加された場合、システムの性能が向上する。
増強された性能の利点を得るためにアプリケーションを再度コンパイルする必要
はない。
かを選択するために仮想のコンピュータオペレーティングシステムを使用する。
アプリケーション技術者が高レベルの言語を使用してプログラマブルロジックリ
ソースを使用する再構成可能なコンピュータシステム上で実行することができる
アプリケーションのためのハードウェア手段およびソフトウェア手段の両方を開
発することを可能にするソフトウェア開発ツールを提供することができる。これ
らのツールは関数からなるシステム設計言語によって書かれた特性を自動的に分
割しソフトウェア機能またはハードウェア機能に割り当てる分割手段を備えるこ
とができる。ソフトウェア機能およびハードウェア機能は、スレッドならびにプ
ログラマブルロジックリソース構成データにそれぞれコンパイルすることができ
る。これらのスレッドならびに構成データは、アプリケーションを実行するため
に実行時間中において仮想コンピュータオペレーティングシステムによって使用
することができる。
のアプリケーションのための性能要件を特定するメカニズムを提供する。例えば
、グラフィックスアプリケーションは、単位時間にディスプレイスクリーン上に
描写される多辺形の数に応じて特定の処理量を必要とする。秒当りに百万の多辺
形を描写する必要がある場合、例えば、アプリケーション技術者は、仮想コンピ
ュータオペレーティングシステムに対して、多辺形を描写する機能が1μs以内
のその動作を完了させる必要があることを特定することができる。
するアプリケーションの性能(ならびに個々の機能)をモニタする能力と、特定
のアプリケーションおよび個々の機能に対してより多くのリソースを再配分して
性能要件を満たすことを保持する能力を備えている。仮想コンピュータオペレー
ティングシステムは、特定の機能を実行する際においてシステムの能力に従って
この機能をソフトウェアバージョンで実行するかまたはハードウェアバージョン
で実行するかを決定することもできる。例えば、別の集中的な演算を要するアプ
リケーションを実行している際に多辺形描写機能を同時に実行することがスケジ
ュールされた場合、仮想コンピュータオペレーティングシステムによって実行さ
れる動的な構成が、いつリソースの配分を決定するか、およびソフトウェアバー
ジョンの多辺形描写機能を使用するかまたはハードウェアバージョンの多辺形描
写機能を使用するかを考慮することができる。
仮想コンピュータオペレーティングシステムが提供される。仮想コンピュータオ
ペレーティングシステムは、仮想コンピュータ核サービス要素を含むことができ
る。仮想コンピュータ核サービス要素は仮想ロジックリソースマネージャを含む
多様なリソースマネージャを含むことができる。
伴う仮想オペレーティングシステムを有する場合、仮想ロジックマネージャはプ
ログラマブルロジックリソースと二次記憶デバイスとの間におけるプログラマブ
ルロジック構成データおよびアプリケーション状態情報の交換を制御することが
できる。このことによって限られたリソースしか持たない再構成可能なコンピュ
ータシステムにおいて複雑なアプリケーションを実行することが可能になる。
ら以下に記述する好適な実施例の詳細な説明によって明らかにされる。
造が概略図として示されている。再構成可能なコンピュータシステム5内のハー
ドウェアリソースは、プログラマブルロジックデバイス内で実行可能な中央演算
装置(CPU)16、実在のマイクロプロセッサ、またはこれらの要素の組み合
わせと、メモリ12と、入力/出力(I/O)デバイス18(プログラマブルロ
ジックデバイスまたはその他の適宜なデバイスに基づくものとし得る)と、相互
接続ネットワーク22とからなる。
ティング構造、入力および出力領域、メモリ領域、ならびに構成記憶装置(すな
わちプログラマブルロジック領域内のロジック要素を構成するために使用される
構成データを記憶するためのメモリ)のアレーを備えている。プログラマブルロ
ジックデバイスによって実行されるロジック機能は、構成記憶装置内に蓄積され
た構成データ、構成記憶装置からロジック領域、ルーティング構造、入力および
出力領域、ならびにメモリ領域への接続によって決定される。構成記憶装置は、
例えば、実質的に無限回書き込むことができるスタティックRAMに基づいたも
のとすることができる。他方、消去可能なプログラマブルROMデバイス等のプ
ログラマブルロジックデバイスの外部のデバイスを、プログラマブルロジックデ
バイスの内部スタティックRAMに代えて構成記憶装置として使用することもで
きる。必要に応じて、実質的に回数を書き込むことができるその他のいずれかの
メモリまたは記録デバイスを使用することができる。従って、プログラマブルロ
ジックデバイスによって実行されるロジック機能は、無数回にわたって回路内で
変更することができる。好適なプログラマブルロジックデバイスの一例として、
カリフォルニア州サンノゼ市アルテラ社によるフレックスEPF10K50デバ
イスが挙げられる。この型式のプログラマブルロジックデバイスは単に例示的な
ものである。必要に応じて、その他の適宜な型式のプログラマブルロジックデバ
イスをシステム5内において使用することができる。必要であれば、プログラマ
ブルロジックデバイスは1つまたは複数の構成記憶装置の部分的な再構成を補助
することができる。
構成可能なコンピュータシステムに初めて電源が付加された際、コンピュータを
初期化するために初期化情報を使用することができる。このプロセスは“ブート
ストラッピング”として知られている。
。これは、スタティックまたはダイナミック集積回路メモリ技術によって形成す
ることができる。スタティックまたはダイナミックメモリ技術の選択は、このメ
モリによって実行されることを必要とする演算機能に基づいて決定することがで
きる。スタティックRAMデバイスはダイナミックRAMに比べて高速なアクセ
ス時間を有するが、記録セルごとにより多くのトランジスタを使用する上に、同
等な記録密度でもより高い製造コストを要する。所定の演算機能に対する好適な
メモリ技術の決定において、アクセス時間、密度、ならびにコストの組み合わせ
が要素となる。
例えば、バス)として形成される。相互接続ネットワーク技術は、位相幾何を動
的に再構成することができるプログラマブルロジックデバイスまたはプログラマ
ブル相互接続デバイスを使用して形成することができる。この技術は、特定の演
算機能に対して最適化される。考えられるネットワーク位相幾何の例としては、
メッシュ、全または部分クロスバー、小集団、ハイパーキューブ、分散または共
有メモリ階層構造等が挙げられる。
、等の外部機器、ハードディスクドライブ等の大量記憶装置に結合するか、また
は他の再構成可能または再構成不可能なコンピュータシステムを含んだコンピュ
ータネットワークに接続するワイヤによて形成することができる。
対する組み合わせあるいは連続ロジック機能か、マイクロプロセッサ16に対す
るマイクロプロセッサ機能か、またはI/Oインタフェース18に対するI/O
機能を実行するように使用することができる。これらの機能のうちのどれか、例
えばマイクロプロセッサ機能は、必要に応じて固定されたハードウェアによって
実行することができる。
加を含むことができる。システムにプログラマブルロジックデバイスを追加する
に従って、処理能力が増加する。拡張性およびモジュール性によってプログラマ
ブルロジックデバイスリソースの増加が可能となり、結果としてシステム能力の
増加がもたらされる。
実行するためのメモリ階層構造を補助する。アプリケーションおよびシステムプ
ログラムは、マイクロプロセッサコードおよびプログラマブルロジックデバイス
構成データを含むことができる。
されるアプリケーション固有のI/Oデバイス18を形成するよう構成すること
ができる。この種のデバイスは、イーザネットプロトコル、スモールコンピュー
タシステムズインタフェース(SCSI)プロトコル、周辺機器相互接続(PC
I)プロトコル、ビデオドライバプロトコル等のプロトコルを含むことができる
。
、それらは:プログラマブルロジックデバイス構成バス、アプリケーションメモ
リバス、およびI/Oバスである。各バスは独立して機能することができる。プ
ログラマブルロジック構成バスは、システム内において各プログラマブルロジッ
クデバイスを形成するために使用することができる。プログラマブルロジックデ
バイス構成アドレッシングモードに従って、このデータはプログラマブルロジッ
クデバイスのグループまたは個別のプログラマブルロジックデバイスに同時に伝
送することができる。アプリケーションメモリバスは、システムがプログラマブ
ルロジックデバイスのアレーとともに共有または分散メモリシステムを形成する
ことを可能にする。I/Oバスはプログラマブルロジックデバイスを外部のI/
Oデバイスに接続することを可能にする。
ブートストラップするために使用される。ステップ30においてシステムに電源
が投入されると、演算に使用されるプログラマブルロジックデバイスおよびRA
M12はいずれも前回の構成からの情報を維持しない。不揮発メモリ10内に記
録された情報の目的は、ブートストラップマネージャをロードすることである(
ステップ)ブートストラップマネージャは、続いてステップ34においてベーシ
ックI/Oサービス(BIOS)をロードし、ステップ36においてパワーオン
自己検査診断プログラムをロードおよび実行し、ステップ38においてオペレー
ティングシステム核をロードおよび実行することができる。
テップ36中において演算リソース上で実行することができる。このリソースは
専用マイクロプロセッサ、マイクロプロセッサとして構成されたプログラマブル
ロジックデバイス、マイクロプロセッサと部分的にマイクロプロセッサとして構
成されたプログラマブルロジックデバイスとの組み合わせ、またはプログラマブ
ルロジックデバイスロジック回路とすることができる。リソースが専用のマイク
ロプロセッサである場合、不揮発メモリ10は単にブートストラッププロセスを
実行するために必要とされるマイクロプロセッサインストラクションのみを含ん
でいる。プログラマブルロジックデバイスをマイクロプロセッサとして構成する
必要がある場合、不揮発メモリ10はプログラマブルロジックデバイス構成デー
タならびにマイクロプロセッサインストラクションを含むことができる。その他
の場合、不揮発メモリ10はロジック回路のためのプログラマブルロジックデバ
イス構成データを含むことができ、これはブートストラッププロセスを実行する
ために追加的なプログラムインストラクション必要とするものかあるいは必要と
しないもののいずれでも可能である。
ることである。このローディングプロセスはプログラマブルロジックデバイスを
使用して実行されるマイクロプロセッサのインストラクションのローディングを
含むか、またはプログラマブルロジックデバイスに対する構成のローディングを
含むことができる。いずれの構成(マイクロプロセッサおよびインストラクショ
ン、またはインストラクションを伴っているかあるいは伴わないロジック回路)
を使用しても、オペレーティングシステムは仮想コンピュータオペレーティング
システム(VC−OS)と呼称することができる。
いる。図3の仮想コンピュータオペレーティングシステム40は、従来のオペレ
ーティングシステムがランタイムマネージメントに関して提供していた基本的な
サービスを提供することができる。加えて、仮想コンピュータオペレーティング
システムは、プログラマブルロジックの使用に関してシステム5のサービスを補
助する。
の機能が実行されることを保証するランタイムマネージメントツールを含んでい
る。例えば、ランタイムマネージメント機能は、システム設計レベルで特定され
た機能およびタイミング条件が満たされていることを保証する。
ムは、従来のコンピュータシステムにおいてランタイム中に使用可能なリソース
上において実行される機能をスケジューリングする。この種の従来のコンピュー
タシステム内のリソースは、アプリケーションプログラムの要求ならびにリソー
スの使用可能性に基づいてランタイム中に動的に再配分される。各リソースは、
物理メモリの再配分を行う仮想メモリマネージャ等のリソースマネージャを備え
る。従来のオペレーティングシステムにおける最も一般的なリソースマネージャ
は、ファイルシステムマネージャ、グラフィックスマネージャ、I/Oマネージ
ャ(大容量記録アクセスまたはキーボードあるいはマウス等のシンプルI/Oデ
バイスを操作するため)、ネットワークマネージャ、および仮想メモリマネージ
ャである。
ンピュータオペレーティングシステム40とこの仮想コンピュータオペレーティ
ングシステム40のために書かれたアプリケーションとの間のインタフェースを
提供するアプリケーションプログラムインタフェース44を備えている。仮想コ
ンピュータオペレーティングシステム40は、さらにリソースマネージメント機
能を提供する核サービス42を含んでいる。システム内の各サービスはリソース
マネージャを有することができる。例えば、ファイルリソースはファイルシステ
ムマネージャ46によって操作することができる。グラフィックスリソースはグ
ラフィックスマネージャ47によって操作し、I/OリソースはI/Oマネージ
ャ48によって操作し、ネットワークリソースはネットワークマネージャマネー
ジャ50によって操作し、仮想メモリリソースは仮想メモリマネージャ52によ
って操作することができる。再構成可能なコンピュータシステムは仮想ロジック
を有することができ、これは仮想ロジックマネージャ54によって管理すること
ができ、この仮想ロジックマネージャはアプリケーションによって形成されシス
テム5内の限られたプログラマブルロジックリソースにアクセスする要求を処理
するものである。
リに依存する。仮想メモリは、ランタイムデータを一時的に保存するために二次
記憶装置(ハードディスク等)を使用することができ、そうでない場合このデー
タは一次記憶装置(RAM等)に記録される。アプリケーションによって機能お
よびデータが要求されると、オペレーティングシステムは要求されたデータがそ
の時点で仮想メモリ内に記録されているかどうかを判断し、もし記録されている
場合、そのデータを物理メモリ内にある他のアプリケーションのためのデータを
その時点で仮想メモリから要求されている機能およびデータに置き換える。
ックデバイスのランタイム配分を行うことができる。仮想ロジックマネージャは
、多様なアプリケーションが要求するプログラマブルロジック内で実行される機
能のランタイム要件を満たすものである。1つのアプリケーションは、要求を処
理するために存在するプログラマブルロジックデバイスを使用して処理される以
上の機能を要求することがあり得る。従って、仮想ロジックマネージャは、プロ
グラマブルロジック内で実行される機能のランタイム交換を管理する必要がある
。
論理メモリとしてアプリケーションに対して提供していた。これは、物理メモリ
内外のメモリページを二次記憶装置(通常はローカルハードディスク)に対して
(またはここから)ランタイム交換することによって達成される。本発明に係る
仮想ロジックマネージャ54を使用すれば、比較的少ない量の物理プログラマブ
ルロジックデバイスをアプリケーションに対しては比較的大量の論理プログラマ
ブルロジックデバイスとして提供することができる。これは、仮想ロジックマネ
ージャ54を使用してプログラマブルロジックデバイス構成メモリ(すなわち、
構成ストア)内外のプログラマブルロジックデバイス構成データおよび状態情報
を二次記憶装置(通常ローカルハードディスクドライブ)に対して(またはここ
から)ランタイム交換することを実施することによって達成される。
このプロセスは、機能が実行される時間に使用される最適の機能手段(ソフトウ
ェアまたはハードウェア)を選択するために使用される。
のソフトウェア処理バンド幅がステップ150において決定される。ソフトウェ
ア処理バンド幅は、システム内の全てのマイクロプロセッサが休止中で機能を実
行していない時間の総量から算出される。ハードウェア処理バンド幅は、システ
ム内の非使用のプログラマブルロジックリソースと使用されているプログラマブ
ルロジックリソースがデータを処理していない時間の総量とに基づいて計算され
る。
要とされるソフトウェア処理バンド幅は、ステップ152において決定される。
これらの要求は、アプリケーション技術者によって絶対要求として特定されるか
、または前記の実行される機能に並んで付加された追加的な小機能を実行する際
のシステムの性能に基づいて特定することができる。この小機能はステップ15
2で実施することができるとともにシステムの性能を測定することができる。
で使用可能なバンド幅より小さいかどうかが判断される。要求されるソフトウェ
ア処理バンド幅がシステム内で使用可能なバンド幅よりも小さい場合、ソフトウ
ェア手段がシステムにロードされステップ160においてマイクロプロセッサ上
で実行される。ソフトウェア手段がハードウェア手段よりも少ないシステムリソ
ースを使用するため、この選択がなされる。
ウェア手段が評価される。使用可能なハードウェアバンド幅が許容可能である場
合、ステップ162において機能がシステム上にロードされてプログラマブルロ
ジックリソース上で直接的に実行される。ステップ156において、使用可能な
ハードウェアのバンド幅が許容不可能であると判断され、さらにステップ158
において性能要求が“ハード”でありつまり性能要求を満たす必要がある場合、
ユーザに対してエラーメッセージが提供されステップ164において機能(およ
びその親機能)のロードが中止される。要求が“ハード”でない場合、ステップ
162において機能がロードされ、低減された性能レベルで実行される。
ものでありこの優先度の低い機能を必要に応じて除去するかどうかを決定するた
めに通常の手段を使用し)、システム内の機能の性能がステップ166でモニタ
される。バンド幅を処理するシステムの機能に対して与えられた優先度は、要求
されるバンド幅と実現される実際のバンド幅との差に比例する。
ケジューリングされると、仮想コンピュータオペレーティングシステムのリソー
ス再配分ルーチンによって実施される第1のステップは、機能の拘束を満たすこ
とができるリソースが存在するかどうかを判断することである。このようなリソ
ースが存在する場合、このリソースが前記機能に対して配分される。存在しない
場合、物理リソースのプール内に存在する最適の候補が適宜な代替法則を使用し
て検索される。例えば、あるアプリケーションの所定の機能を実行するために再
構成することが可能なプログラマブルロジックリソースが不充分であると判断さ
れた場合、仮想コンピュータオペレーティングシステムは再構成が不要なハード
ウェアリソース(例えば、専用マイクロプロセッサまたはCPUとして動作する
よう構成されたプログラマブルロジックデバイス)を使用して所与の機能を実行
し得ることを保証するために使用することができる。仮想コンピュータオペレー
ティングシステムは、マイクロプロセッサ上で機能を実行する前に適正なソフト
ウェアバージョンの機能がアプリケーション技術者によって提供されているかど
うかを保証することができる。
ーストアウト、ラストリーセントリユースド、またはラストフリークェントリユ
ースドを含んでいる。ランタイムマネージメントシステムがリアルタイムインタ
ラプト処理プロセス等の優先度の高い機能を検出した際、極端なケースとして1
番目の最適なリソースのオンデマンド交換があり得る。
オペレーティングシステムによるランタイムリソースマネージメントは、CPU
スケジューリングのための種々の技術を含んでいる。ワンバイワンベーシック上
のコンピュータシステム操作アプリケーション(ならびに同じアプリケーション
下の個々の機能)を有することは極めて非効率的となり得る。与えられたいずれ
かの時間に処理される与えられたいずれかの時間に処理されるタスクに応じて、
いくつかのリソースが拘束され、一方その他のリソースはアイドルとなり得る。
結果は極めて遅いコンピュータとなる。これに対応して、従来のオペレーティン
グシステムの殆どにおいては徐々にCPUスケジューリングのコンセプトが適用
されるようになってきた。
配分しシステムによって処理される全ての機能の順序がスケジューリングされる
。CPUスケジューリングの目的は、安定したマルチタスク環境を形成すること
である。この環境は、優先度、I/O遅延による機能停止、または各機能を処理
する順序を決定付けるために使用されるその他の要因等の各要因の組み合わせに
基づいてCPUリソースをアルゴリズム的に配分することによって形成される。
例えば、マイクロプロセッサがユーザの入力を待つ点に到達している機能を処理
する場合、従来のオペレーティングシステムのCPUスケジューリング特性は、
ユーザの入力が可能になるまでの間マイクロプロセッサのリソース(同様に他の
使用可能なシステムリソース)を使用する可能性のある他の機能を提供すること
ができる。ユーザの入力が可能になった際、最初の機能がシステム内で休止状態
になっていた際に放棄していたリソースを再び使用する。
ブルロジックデバイスが完全または部分的に構成される再構成可能なコンピュー
タシステムにおいて、スケジューリングシステムの機能は従来のCPUスケジュ
ーリングシステムと比べていくらか異なった作用をもたらす。従来のCPUスケ
ジューリングはマイクロプロセッサリソースを各機能に対して配分し、プログラ
マブルロジックスケジューリングはプログラマブルロジックリソース(そのうち
のいくつかとすることもできる)を各機能に配分する。プログラマブルロジック
リソースはマイクロプロセッサとしてプログラムする必要はないが、所要の機能
、例えばI/O機能、グラフィックス機能、ネットワーク機能等を実行するよう
にプログラムすることができる。再構成可能なコンピュータのオペレーティング
システム内のこの種の特徴の目的は、複数グループのプログラマブルロジックリ
ソース中において多様なタスクを同時に処理するタスクを管理することを補助す
ることである。他方、従来のコンピュータのオペレーティングシステムにおいて
、CPUスケジューリング能力の第一の目的は、与えられたある時点において能
動である種々のタスクによって高い処理能力が要求されるために生じるマイクロ
プロセッサの停止を削減することである。
ブルロジックリソースを各アプリケーション機能に配分することができるタイム
マルチプレクシングを使用することができる。このことは、予め設定された時間
間隔における異なった機能間の切換えを含むことができる。重要な例外は、リア
ルタイムインタラプトとI/O機能である。
配分される機能が1つもスケジューリングされていない場合、機能先取りが、機
能が要求される前にプログラマブルリソースを構成データとともにロードし得る
ようにするためのプログラマブルロジックリソース構成オーバヘッドに関連する
時間コストを最小化することを補助する。
現在市販されているプログラマブルロジックデバイスにおいてミリ秒の単位であ
る。必要であれば、プログラマブルロジックデバイスを構成するために必要とさ
れる時間は、増加されたパイプラインおよび並列性をデバイス上において使用す
ることによって縮小(例えば、ナノ秒の単位まで)することができる。
ピュータシステムは、システム内で使用することができるプログラマブルロジッ
クの数が比較的大きいため、比較的大きな処理能力を備えると言う利点を有する
。再構成可能なシステムにおいて、より多くの処理能力が必要とされる場合、単
に相互接続ネットワーク上により多くのプログラマブルロジックデバイスを追加
すれば良い。システムにより多くのプログラマブルロジックデバイスを追加した
後アプリケーションを再度コンパイルする必要はなく、これはランタイムマネー
ジャが新しいハードウェアを自動的に検出してランタイム実行能力の中に組み込
むからである。これらのデバイスの全てが仮想コンピュータオペレーティングシ
ステムを使用して制御および監視される。
ース配分に対してスケジューリングされた次の機能を決定することができる。加
えて、その時点で実行している機能の優先度もスケジューリングされる次の機能
の決定に使用される。
である。従来のコンピュータにおいて、ハードドライブ等の記憶装置はドライブ
上のリソースが継続的に配分および消去されることによって生じる問題を防止す
るためにデフラグメントすることが可能であった。従来のハードドライブ上の消
去されたスペースは、連続する大きなスペースを必要とする機能に対して再配分
するために充分なスペースを有してないことがあり得る。本発明によれば、単一
のプログラマブルロジックデバイスの部分構成をデフラグメントするためにプロ
グラマブルロジックデフラグメンテーションを使用することができる。これによ
って、予め配分された多数の小さなプログラマブルロジックの領域を使用可能な
プログラマブルロジックのより大きな稼動領域を形成するために再配分すること
が可能になる。このことは、プログラマブルロジックの多様な部分への特定の各
スイッチに対して再構成データを再配分して所要のプログラマブルロジックデバ
イス機能を提供することを含んでいる。
発プロセスは、演算システムを使用する重要な部分である。複雑な機能を実行す
るとともにユーザが演算システムと相互交信するための複雑なインタフェースを
形成することが重要である。最も一般的な開発ツールは、JAVA(登録商標) 、C++、ADA、LISP、COBOL、VISUAL BACIC等の高級 プログラム言語を含んでいる。ソフトウェア開発プロセス中における一貫性を保 持するため、再構成可能なコンピュータシステムに対する高級言語は、従来の高 級プログラミング言語の原理を使用して設計されている。
多用するアプリケーションは、ある機能をレンダリングサーフェイスのために使
用し、その他の機能を光線追跡のために使用することができる。仮想コンピュー
タオペレーティングシステムは、プログラマブルロジックデバイスリソースをア
プリケーションの機能に対して配分する。
ニアは、そのアプリケーションを実行するいずれかの特定のシステムがいくつの
プログラマブルロジックデバイスリソースを有しているかを考慮する必要はない
。むしろ、少なくとも1つのプログラマブルロジックデバイスの最小リソース要
求に従って、全てのリソースを使用可能とする概念が形成される。
ドウェア概念(すなわち、このアプリケーションに対するハードウェア描写言語
は、ハードウェア182のユニットとして示されているプログラマブルロジック
リソースまたはプログラマブルロジックリソースの集合体内で実行される構成デ
ータのブロックにコンパイルされると仮定する)に基づいてHDLコンパイラ1
80によってコンパイルされる。ユニットハードウェア182は、例えば、単一
のプログラマブルロジックデバイスまたは単一のプログラマブルロジックデバイ
スの一部分とすることができる。HDLコンパイラ180は、構成データを伴っ
たVC−OS184を構成データのブロックの形式で提供し、ここで各ブロック
はユニットハードウェア182に適合するものである。VC−OS184は必要
に応じてプログラマブルロジックデバイスリソースを前記のブロック(これらが
機能を形成し、さらにこれがアプリケーションを形成する)に配分する。
分されたプログラマブルロジックリソース186を有し、アプリケーションのブ
ロック2に配分されたプログラマブルロジックリソース188を有し、・・・ア
プリケーションのブロックnに配分されたプログラマブルロジックリソース19
0を有する。ロジックリソース180,188,および190等のロジックリソ
ースは、それぞれ単一のプログラマブルロジックデバイスに基づくか、それぞれ
プログラマブルロジックデバイスの一部分に基づくか、それぞれそのようなデバ
イス構成組み合わせに基づくか、またはそれぞれ他の好適なロジックリソースに
基づくものとすることができる。配分されるリソースはシステム毎あるいはある
システムにおいてもランタイム毎に変化することができるが、HDLコンパイラ
180は不変のユニットハードウェア概念に基づいてアプリケーションをコンパ
イルすることができる。仮想ロジックマネージャは、特定のプログラマブルロジ
ックリソースが限られている場合、その中の構成データのブロックを交換するこ
とができる。さらに、図5Bに示されているように、VC−OSは1つのプログ
ラマブルロジックデバイスリソースを複数の構成データのブロックに配分するこ
とができる。
構成可能なハードウェア構造上での実行が詳細に示されている。仕様(アルゴリ
ズム)70、拘束のセット74、およびリソースライブラリ76がソフトウェア
開発ツール192上に入力として提供される。仕様は、システム設計言語で書く
ことができる。仕様において、アプリケーション技術者はシステム設計言語によ
って提供されるツールを使用してアプリケーションを書くだけで良い。アプリケ
ーション技術者は、システム設計言語によって作成された機能のソフトウェアバ
ージョンならびにハードウェアバージョンを考慮する必要はない。分割手段72
は仕様70をソフトウェア機能78およびハードウェア機能80に分割すること
ができる。その結果、各機能は完全にソフトウェア上(例えばマイクロプロセッ
サ)で実行するか、完全にハードウェア上(例えばプログラマブルロジックデバ
イス)で実行するか、またはそれらの組み合わせとすることができる。それぞれ
の機能的分割部分に対してソフトウェア操作およびハードウェア操作の両方が形
成され、これは所要の部分手段を実行する決定がランタイムが開始するまで遅延
する可能性があるからである。システム設計言語プロファイラは、システム設計
言語コード上で実行され重要なパスの分析および区分の割当てを行うこともでき
る。
が存在する。第1に、システム設計言語仕様70の機能的限界は、機能間のタイ
ミング関係を含むことができ、機能間に並行または連続的拘束が存在することも
可能である。第2に、コスト関数はリソースライブラリ76内のハードウェアリ
ソースを使用することに関連付けられる。リソースライブラリ76は、使用可能
な各ハードウェアリソースついての詳細を含んでいる(一般的にこれらはマイク
ロプロセッサ、メモリ、およびプログラマブルロジックデバイス)。これらは、
計算速度、待ち時間、ならびにリソースの応答時間あるいは時間のコスト関数(
通常はソフトウェア手段に対する)、エリア(通常はハードウェア手段に対する
)、または通信(時間およびエリアの両方にまたがる)等を含むことができる。
ド拘束の1例は、リアルタイムI/Oまたはインタラプトプロセスを含む拘束で
ある。“ソフト”拘束と定義される拘束もあり得る。ソフト拘束の1例は、スプ
レッドシート内の等差関数に関連付けられた拘束である。これらの等差関数が特
定の時間内に実行されることは重要でなく、これらの機能が高速に実行されるこ
とと、アプリケーションの使用が簡便になることが重要である。
イクロプロセッサは特定のインストラクションセットおよびデータパス幅等の特
性を有し、メモリは特定のデータパス幅を有し、プログラマブルロジックデバイ
スは特定のロジック容量ならびにI/Oカウントを有することができる。分割ツ
ール72はリソースライブラリ76ならびに拘束74の特性を考慮するが、ある
システム内に各リソースがそれぞれ何個存在するかは考慮することができない。
ランタイムリソースマネージャは、実行中のアプリケーションからの要求に従っ
て機能分割を使用可能なハードウェアリソースにマッピングする必要がある。
0とに分割されると、これらの機能の間においてパラメータの伝送が可能になる
ようインタフェース機能86が形成される。これらのインタフェース機能86は
、メモリマッピングされたハードウェア機能80にパラメータを書き込むソフト
ウェア手段とするか、またはプログラマブルロジックデバイス内にハードディス
クインタフェース回路を構成してファイルシステムの形成を可能にすることを含
むことができる。
必要はない。アプリケーション技術者は、ソフトウェアおよびハードウェアの全
ての機能を作成することができ、両方を作成できる人とどちらか一方のみを作成
できる人が存在する。しかしながら、最適な組み合わせの機能ならびに手段を選
択する際にオペレーティングシステムに柔軟性を与えるために両方のバージョン
を有することが好適である。
行技術にマッピングする必要がある。このことは、高級言語コンパイラ82を使
用してソフトウェア機能78をスレッド88にコンパイルし、ハードウェア表記
言語コンパイラ84を使用してハードウェア機能80を構成パターン90にコン
パイルすることを含んでいる。このステージにおいて、例えば一定増加(等差お
よび幾何学の両方)、強度低下(例えば、a+a=2*a、これは考えれるコス
ト積算段を除去する)、パイプライン化、またはリソース共有等の多様な最適化
および節約技術が適用される。
びにパラメータアドレスを有するリンカ92)は、主機能と動的に連結された機
能を有し、それらの全てがソフトウェアまたはハードウェア、あるいはその両方
において実行される。システム設計言語分割手段72によって形成されるこれら
の機能および拘束74は、仮想コンピュータオペレーティングシステム94への
入力である。
ア要素に分割することによって、ユーザは設計の流れを単純化することができる
。この流れは、機能的タイミング拘束はまったく受け継がない(これはシステム
設計言語によって書かれてないためである)。必要であれば、拘束を考慮に入れ
ることも可能である。制御の主的な流れはマイクロプロセッサ130(またはマ
イクロプロセッサとしてプログラムされたプログラマブルロジックデバイス)上
において実行され、これはプログラマブルロジック132上に存在する機能を呼
び出すことができる。
ずれかを目的とするアルゴリズム機能は、プログラマブルロジック132内で実
行される機能のために、高級言語114によって書くことができ、高級言語−ハ
ードウェア記載言語コンパイラ118を使用してハードウェア記述言語に変換さ
れる。ソフトウェア機能とハードウェア機能との間でパラメータを伝送するため
のインタフェース機能112も高級言語で書かれている。
もに、リンカ124内のハードウェア記載言語コンパイラ120からの構成デー
タ126に連結されているスレッド122を形成する。これらの機能は、その後
仮想コンピュータオペレーティングシステム128によって使用される。
拘束に基づいて、仮想コンピュータオペレーティングシステムは、特定のアプリ
ケーションを実行するためにソフトウェア手段、ハードウェア手段、またはその
組み合わせのいずれかを使用するかを決定することができる(実行時間中または
ソフトウェア実行中のいずれか)。このことにより、ソフトウェア上で実行する
ためにより適した機能がソフトウェアを使用して実行されるため極めて効果的な
処理が可能となり、他方プログラマブルロジックハードウェアデバイスに適した
機能はプログラマブルロジックリソースを使用して実行される。
は本発明の視点および概念を逸脱することなく種々の設計変更をなし得ることが
理解されよう。
である。
なステップを示すフローチャートである。
核サービスを示すブロック線図である。
ピュータオペレーティングシステムによって使用される代表的なステップのフロ
ーチャートである。
ドウェアに対して設計されたアプリケーションをどのように使用し、コンピュー
タシステム内の1つまたは複数のプログラマブルロジックリソースをアプリケー
ションの機能に対してどのように配分するかを示す概略図である。
して配分されるかを示す概略図である。
示すブロック線図である。
ウェア開発の流れを示すブロック線図である。
の概念が提案された。この種のシステムは、例えば、欧州特許第A−08013 51号公報(インタナショナルコンピュータリミテッド)に記載されており、こ れは再構成可能な回路を有する内蔵周辺機器コントローラを開示している。この 種のシステムは、さらに国際特許出願第WO94/10627号公報(ギガオペ レーションズコーポレーション)にも記載されており、これは再構成可能な回路 を有する分散プロセッシングユニットを開示している。“プログラマブルハード ウェアデバイスソフトウェアアクセレーション”(エドワード・M・D氏等によ るIEE会報:コンピュータおよびデジタル技術、GB、IEE、1996年第 143刊第1号、第55−63頁、XP000554820号、ISSN:13 50−2387)および米国特許第5684984号公報には、ハードウェアに 基づいた機能を実行するために使用されるプログラマブルハードウェアが開示さ れている。 再構成可能なコンピュータの目的は、カスタマイズすることができる
ハードウェアを使用して並行性ならびに高速実行時間を提供することによって従
来のコンピュータより性能を向上させることである。プログラマブルロジックデ
バイスを使用することによって柔軟性を増加させることができ、これはこの種の
プログラマブルロジックデバイスがデバイス内に新しい構成データをロードする
ことによって再構成し得るためである。このことにより再構成可能なコンピュー
タにおいて、従来のコンピュータのような単一の命令セットではなく多数の命令
セットを付加することができる。コンピュータが再構成可能なロジックを使用す
る場合、一定数のハードウェアを使用してより多くの機能を実行することができ
る。
Claims (27)
- 【請求項1】 少なくとも1つのプログラマブルロジックデバイス上で実施
される中央プロセッシングユニットと; この中央プロセッシングユニットに結合され、所与のアプリケーションを処理
するためにコンピュータシステムの能力を最適化するよう再構成可能なプログラ
マブルロジックとからなる、 再構成可能なコンピュータシステム。 - 【請求項2】 プログラマブルロジックに結合された不揮発メモリをさらに
備え、この不揮発メモリはブート局面においてプログラマブルロジックによって
使用される初期構成データを記録する請求項1記載の再構成可能なコンピュータ
システム。 - 【請求項3】 プログラマブルロジックに結合されたランダムアクセスメモ
リをさらに備え、このランダムアクセスメモリはデータならびに状態情報を記録
する請求項1記載の再構成可能なコンピュータシステム。 - 【請求項4】 プログラマブルロジック内で実行される入出力回路をさらに
備え、この入出力回路は中央プロセッシングユニットならびにプログラマブルロ
ジックに結合される請求項1記載の再構成可能なコンピュータシステム。 - 【請求項5】 所与のアプリケーションを実行させるためにコンピュータシ
ステムの能力を最適化するよう再構成可能なプログラマブルロジックを備え、こ
のプログラマブルロジックは追加的なプログラマブルロジックのインストールを
実行するように適応し、この種の追加的プログラマブルロジックがインストール
されている時はアプリケーションを再コンパイルすることなくアプリケーション
の実行中の性能が増大する、 再構成可能なコンピュータシステム。 - 【請求項6】 所与のアプリケーションを処理するためにコンピュータシス
テムの能力を最適化するよう再構成可能なプログラマブルロジックリソースを備
える再構成可能なコンピュータ用のソフトウェアを開発するためにソフトウェア
開発ツールを使用する方法であり: アプリケーションのハードウェア機能およびソフトウェア機能を形成するため
にシステム設計言語を使用し; アプリケーションをランタイム中に存在するソフトウェア機能およびハードウ
ェア機能に分割する、 ことからなる方法。 - 【請求項7】 再構成可能なコンピュータは少なくとも1つのプログラマブ
ルロジックデバイス上で実行される中央プロセッシングユニットとこの中央プロ
セッシングユニットに結合されたプログラマブルロジックとを備え、プログラマ
ブルロジックは所与のアプリケーションを処理するためにコンピュータシステム
の能力を最適化するよう再構成可能である請求項6記載の方法。 - 【請求項8】 再構成可能なコンピュータはマイクロプロセッサ上で実行さ
れる中央プロセッシングユニットとこの中央プロセッシングユニットに結合され
たプログラマブルロジックとを備え、プログラマブルロジックは所与のアプリケ
ーションを処理するためにコンピュータシステムの能力を最適化するよう再構成
可能である請求項6記載の方法。 - 【請求項9】 再構成可能なコンピュータは部分的にマイクロプロセッサ上
で実行されるとともに部分的にプログラマブルロジックデバイス上で実行される
中央プロセッシングユニットとこの中央プロセッシングユニットに結合されたプ
ログラマブルロジックとを備え、プログラマブルロジックは所与のアプリケーシ
ョンを処理するためにコンピュータシステムの能力を最適化するよう再構成可能
である請求項6記載の方法。 - 【請求項10】 プログラマブルロジックリソースの特性上の分割手段に対
して情報を提供するためのリソースライブラリ使用することをさらに含む請求項
6記載の方法。 - 【請求項11】 プログラマブルロジックリソースの特性上および再構成可
能なコンピュータ内のメモリの特性上の分割手段に対して情報を提供するための
リソースライブラリ使用することをさらに含む請求項6記載の方法。 - 【請求項12】 ユニットハードウェア概念に基づいて作成およびコンパイ
ルされたハードウェア機能を形成することを特徴とする請求項6記載の方法。 - 【請求項13】 分割手段を使用してハードウェア機能およびソフトウェア
機能を自動的に分割することをさらに含む請求項6記載の方法。 - 【請求項14】 ハードウェア機能およびソフトウェア機能を手動で分割す
ることをさらに含む請求項6記載の方法。 - 【請求項15】 所与のアプリケーションを実行させるためにコンピュータ
システムの能力を最適化するよう再構成可能なプログラマブルロジックリソース
を含む再構成可能なコンピュータのリソースを管理する方法であり: 仮想ロジックマネージャを使用してプログラマブルロジックリソースの配分を
管理する方法。 - 【請求項16】 再構成可能なコンピュータは少なくとも1つのプログラマ
ブルロジックデバイス上で実行される中央プロセッシングユニットとこの中央プ
ロセッシングユニットに結合されたプログラマブルロジックとを備え、プログラ
マブルロジックは所与のアプリケーションを処理するためにコンピュータシステ
ムの能力を最適化するよう再構成可能である請求項15記載の方法。 - 【請求項17】 再構成可能なコンピュータはマイクロプロセッサ上で実行
される中央プロセッシングユニットとこの中央プロセッシングユニットに結合さ
れたプログラマブルロジックとを備え、プログラマブルロジックは所与のアプリ
ケーションを処理するためにコンピュータシステムの能力を最適化するよう再構
成可能である請求項15記載の方法。 - 【請求項18】 再構成可能なコンピュータは部分的にマイクロプロセッサ
上で実行されるとともに部分的にプログラマブルロジックデバイス上で実行され
る中央プロセッシングユニットとこの中央プロセッシングユニットに結合された
プログラマブルロジックとを備え、プログラマブルロジックは所与のアプリケー
ションを処理するためにコンピュータシステムの能力を最適化するよう再構成可
能である請求項15記載の方法。 - 【請求項19】 仮想ロジックマネージャを使用してプログラマブルロジッ
クリソース配分を行っている間に二次記憶装置とプログラマブルロジックリソー
スとの間において構成データを交換することをさらに含む請求項15記載の方法
。 - 【請求項20】 複数の機能を有する所与のアプリケーションを実行させる
ためにコンピュータシステムの能力を最適化するよう再構成可能なプログラマブ
ルロジックリソースを含むコンピュータ内のリソースを管理する方法であり: アプリケーションの所与の一機能を実行するために再構成することが可能なプ
ログラマブルロジックリソースが充分に在るかどうかを判定するために仮想コン
ピュータオペレーティングシステムを使用し; ランタイム中におけるアプリケーションの性能を計測するとともに計測された
性能を規定の性能要件と比較するために仮想コンピュータオペレーティングを使
用し; 計測された性能と規定の性能要件との比較に基づいてアプリケーションの複数
の機能にプログラマブルロジックリソースを配分するために仮想コンピュータオ
ペレーティングを使用し; 計測された性能と規定の性能要件との比較に基づいてアプリケーションの所与
の機能に対してハードウェア手段を使用するかまたはソフトウェア手段を使用す
るかを決定するために仮想コンピュータオペレーティングを使用することからな
る方法。 - 【請求項21】 再構成可能なコンピュータは少なくとも1つのプログラマ
ブルロジックデバイス上で実行される中央プロセッシングユニットとこの中央プ
ロセッシングユニットに結合されたプログラマブルロジックとを備え、プログラ
マブルロジックは所与のアプリケーションを処理するためにコンピュータシステ
ムの能力を最適化するよう再構成可能である請求項20記載の方法。 - 【請求項22】 再構成可能なコンピュータはマイクロプロセッサ上で実行
される中央プロセッシングユニットとこの中央プロセッシングユニットに結合さ
れたプログラマブルロジックとを備え、プログラマブルロジックは所与のアプリ
ケーションを処理するためにコンピュータシステムの能力を最適化するよう再構
成可能である請求項20記載の方法。 - 【請求項23】 再構成可能なコンピュータは部分的にマイクロプロセッサ
上で実行されるとともに部分的プログラマブルロジックデバイス上で実行される
中央プロセッシングユニットとこの中央プロセッシングユニットに結合されたプ
ログラマブルロジックとを備え、プログラマブルロジックは所与のアプリケーシ
ョンを処理するためにコンピュータシステムの能力を最適化するよう再構成可能
である請求項20記載の方法。 - 【請求項24】 アプリケーションが複数の機能を含み、プログラマブルロ
ジックリソースのうちの単一の1個を所与の機能を構成する複数ブロックの構成
データに配分することをさらに含む請求項20記載の方法。 - 【請求項25】 アプリケーションが複数の機能を含み、プログラマブルロ
ジックリソースのうちの単一の1個を所与の機能を構成する単一ブロックの構成
データに配分することをさらに含む請求項20記載の方法。 - 【請求項26】 仮想コンピュータオペレーティングシステムは仮想ロジッ
クを使用するシステムに基づくものである請求項20記載の方法。 - 【請求項27】 仮想コンピュータオペレーティングシステムは仮想ロジッ
クを使用しないシステムに基づくものである請求項20記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10914298P | 1998-11-20 | 1998-11-20 | |
US60/109,142 | 1998-11-20 | ||
PCT/US1999/027485 WO2000031652A2 (en) | 1998-11-20 | 1999-11-19 | Reconfigurable programmable logic device computer system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010059968A Division JP5050069B2 (ja) | 1998-11-20 | 2010-03-16 | 再構成可能なプログラマブルロジックデバイスコンピュータシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002530780A true JP2002530780A (ja) | 2002-09-17 |
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 After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 | 再構成可能なプログラマブルロジックデバイスコンピュータシステム |
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) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007102651A (ja) * | 2005-10-07 | 2007-04-19 | Hitachi High-Technologies Corp | データ処理システム |
US7774591B2 (en) | 2006-01-05 | 2010-08-10 | Nec Corporation | Data processing device and data processing method |
US7822945B2 (en) | 2006-02-06 | 2010-10-26 | Nec Corporation | Configuration managing device for a reconfigurable circuit |
JP2011175339A (ja) * | 2010-02-23 | 2011-09-08 | Nec Corp | 移行方法 |
US8046764B2 (en) | 2004-04-20 | 2011-10-25 | Hitachi, Ltd. | Redistribution of unused resources assigned to a first virtual computer having usage below a predetermined threshold to a second virtual computer |
JP2019535078A (ja) * | 2016-09-30 | 2019-12-05 | アマゾン テクノロジーズ インコーポレイテッド | プログラマブルハードウェアの別個のサブセットを制御する仮想マシン |
US11074380B2 (en) | 2016-09-29 | 2021-07-27 | Amazon Technologies, Inc. | Logic repository service |
US11099894B2 (en) | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
US11115293B2 (en) | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
US11119150B2 (en) | 2016-09-28 | 2021-09-14 | Amazon Technologies, Inc. | Extracting debug information from FPGAs in multi-tenant environments |
US11171933B2 (en) | 2016-09-29 | 2021-11-09 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
US11182320B2 (en) | 2016-09-29 | 2021-11-23 | Amazon Technologies, Inc. | Configurable logic platform with multiple reconfigurable regions |
US11275503B2 (en) | 2016-09-30 | 2022-03-15 | Amazon Technologies, Inc. | Controlling access to previously-stored logic in a reconfigurable logic device |
JP7461380B2 (ja) | 2019-05-23 | 2024-04-03 | ザイリンクス インコーポレイテッド | ヘテロジニアスプログラマブルデバイスのためのハードウェアソフトウェア設計時のフロー収束 |
Families Citing this family (110)
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 |
DE59710317D1 (de) | 1996-12-27 | 2003-07-24 | Pact Inf Tech Gmbh | 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 |
WO2000031652A2 (en) * | 1998-11-20 | 2000-06-02 | Altera Corporation | Reconfigurable programmable logic device computer system |
DE10081643D2 (de) | 1999-06-10 | 2002-05-29 | Pact Inf Tech Gmbh | Sequenz-Partitionierung auf Zellstrukturen |
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 |
JP2004506261A (ja) | 2000-06-13 | 2004-02-26 | ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト | パイプラインctプロトコルおよびct通信 |
US7343594B1 (en) | 2000-08-07 | 2008-03-11 | Altera Corporation | Software-to-hardware compiler with symbol set inference analysis |
AU2001281164A1 (en) * | 2000-08-07 | 2002-02-18 | Altera Corporation | Inter-device communication interface |
WO2002033504A2 (en) * | 2000-10-02 | 2002-04-25 | Altera Corporation | Programmable logic integrated circuit devices including dedicated processor components |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
WO2002031678A2 (en) * | 2000-10-12 | 2002-04-18 | 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 |
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 |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9552047B2 (en) | 2001-03-05 | 2017-01-24 | Pact Xpp Technologies Ag | Multiprocessor having runtime adjustable clock and clock dependent power supply |
US9250908B2 (en) | 2001-03-05 | 2016-02-02 | Pact Xpp Technologies Ag | Multi-processor bus and cache interconnection system |
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 |
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 |
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 |
US7657877B2 (en) | 2001-06-20 | 2010-02-02 | Pact Xpp Technologies Ag | Method for processing data |
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 |
US7015919B1 (en) * | 2002-01-08 | 2006-03-21 | Apple Computer, Inc. | Virtualization of graphics resources |
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 |
WO2003060747A2 (de) * | 2002-01-19 | 2003-07-24 | Pact Xpp Technologies Ag | Reconfigurierbarer prozessor |
EP2043000B1 (de) | 2002-02-18 | 2011-12-21 | Richter, Thomas | Bussysteme und Rekonfigurationsverfahren |
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 |
US7394284B2 (en) | 2002-09-06 | 2008-07-01 | Pact Xpp Technologies Ag | Reconfigurable sequencer structure |
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 | 電子計算機、半導体集積回路、制御方法、プログラムの生成方法、及びプログラム |
EP1676208A2 (en) | 2003-08-28 | 2006-07-05 | PACT XPP Technologies AG | Data processing device and method |
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 | 株式会社日立製作所 | 電子配付物の配付制御システム及び方法 |
US20050273559A1 (en) | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
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 |
US7788478B2 (en) | 2005-07-15 | 2010-08-31 | Tabula, Inc. | Accessing multiple user states concurrently in a configurable IC |
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 |
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 |
US7779286B1 (en) | 2005-10-28 | 2010-08-17 | Altera Corporation | Design tool clock domain crossing management |
US7769929B1 (en) * | 2005-10-28 | 2010-08-03 | Altera Corporation | Design tool selection and implementation of port adapters |
US8250503B2 (en) | 2006-01-18 | 2012-08-21 | Martin Vorbach | Hardware definition method including determining whether to implement a function as hardware or software |
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 |
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 |
US7595655B2 (en) | 2007-06-27 | 2009-09-29 | Tabula, Inc. | Retrieving data from a configurable IC |
US8069425B2 (en) | 2007-06-27 | 2011-11-29 | Tabula, Inc. | Translating a user design in a configurable IC for debugging the user design |
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 |
US9336051B2 (en) * | 2007-10-19 | 2016-05-10 | National Instruments Corporation | Programmable controller with multiple processors using a scanning architecture |
US20090106755A1 (en) * | 2007-10-19 | 2009-04-23 | Sundeep Chandhoke | Programmable Controller with Multiple Processors Using Scanning and Data Acquisition Architectures |
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 |
WO2010049910A2 (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 |
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 |
KR102559581B1 (ko) * | 2018-05-23 | 2023-07-25 | 삼성전자주식회사 | 재구성 가능 로직을 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03214370A (ja) * | 1989-09-21 | 1991-09-19 | Texas Instr Inc <Ti> | 埋込型デジタル信号プロセッサを有する集積回路 |
JPH08305547A (ja) * | 1995-05-11 | 1996-11-22 | Oki Electric Ind Co Ltd | Pldによるコンピュータおよびコンパイラおよびオペレーティングシステム |
JPH09218781A (ja) * | 1996-02-13 | 1997-08-19 | Nec Corp | 遠隔保守システム |
JPH10171645A (ja) * | 1996-12-12 | 1998-06-26 | Fujitsu Ltd | 情報処理装置 |
WO1998031102A1 (de) * | 1996-12-20 | 1998-07-16 | Pact Informationstechnologie Gmbh | Umkonfigurierungs-verfahren für programmierbare bausteine zur laufzeit |
Family Cites Families (55)
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 |
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 |
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 |
GB9223226D0 (en) * | 1992-11-05 | 1992-12-16 | Algotronix Ltd | Improved configurable cellular array (cal ii) |
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 |
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메모리에 데이타를 압축 저장하는 초음파진단장치 |
SE505783C3 (sv) * | 1995-10-03 | 1997-10-06 | Ericsson Telefon Ab L M | Foerfarande foer 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 |
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 |
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 |
US5946219A (en) * | 1996-10-30 | 1999-08-31 | Atmel Corporation | Method and system for configuring an array of logic devices |
US5835734A (en) * | 1997-03-07 | 1998-11-10 | California Institute Of Technology | Electronic processing and control system with programmable hardware |
JP3125863B2 (ja) * | 1997-04-01 | 2001-01-22 | 富士ゼロックス株式会社 | 印刷処理装置 |
US6219149B1 (en) | 1997-04-01 | 2001-04-17 | Fuji Xerox Co., Ltd. | Print processing apparatus |
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 |
WO2000031652A2 (en) | 1998-11-20 | 2000-06-02 | Altera Corporation | Reconfigurable programmable logic device computer system |
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 |
AU2001281164A1 (en) | 2000-08-07 | 2002-02-18 | Altera Corporation | Inter-device communication interface |
-
1999
- 1999-11-19 WO PCT/US1999/027485 patent/WO2000031652A2/en active IP Right Grant
- 1999-11-19 EP EP03010241A patent/EP1351154A2/en not_active Withdrawn
- 1999-11-19 JP JP2000584401A patent/JP2002530780A/ja active Pending
- 1999-11-19 DE DE69910826T patent/DE69910826T2/de not_active Expired - Fee Related
- 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
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03214370A (ja) * | 1989-09-21 | 1991-09-19 | Texas Instr Inc <Ti> | 埋込型デジタル信号プロセッサを有する集積回路 |
JPH08305547A (ja) * | 1995-05-11 | 1996-11-22 | Oki Electric Ind Co Ltd | Pldによるコンピュータおよびコンパイラおよびオペレーティングシステム |
JPH09218781A (ja) * | 1996-02-13 | 1997-08-19 | Nec Corp | 遠隔保守システム |
JPH10171645A (ja) * | 1996-12-12 | 1998-06-26 | Fujitsu Ltd | 情報処理装置 |
WO1998031102A1 (de) * | 1996-12-20 | 1998-07-16 | Pact Informationstechnologie Gmbh | Umkonfigurierungs-verfahren für programmierbare bausteine zur laufzeit |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046764B2 (en) | 2004-04-20 | 2011-10-25 | Hitachi, Ltd. | Redistribution of unused resources assigned to a first virtual computer having usage below a predetermined threshold to a second virtual computer |
JP2007102651A (ja) * | 2005-10-07 | 2007-04-19 | Hitachi High-Technologies Corp | データ処理システム |
US7774591B2 (en) | 2006-01-05 | 2010-08-10 | Nec Corporation | Data processing device and data processing method |
US7822945B2 (en) | 2006-02-06 | 2010-10-26 | Nec Corporation | Configuration managing device for a reconfigurable circuit |
JP2011175339A (ja) * | 2010-02-23 | 2011-09-08 | Nec Corp | 移行方法 |
US11119150B2 (en) | 2016-09-28 | 2021-09-14 | Amazon Technologies, Inc. | Extracting debug information from FPGAs in multi-tenant environments |
US11099894B2 (en) | 2016-09-28 | 2021-08-24 | Amazon Technologies, Inc. | Intermediate host integrated circuit between virtual machine instance and customer programmable logic |
US11074380B2 (en) | 2016-09-29 | 2021-07-27 | Amazon Technologies, Inc. | Logic repository service |
US11171933B2 (en) | 2016-09-29 | 2021-11-09 | Amazon Technologies, Inc. | Logic repository service using encrypted configuration data |
US11182320B2 (en) | 2016-09-29 | 2021-11-23 | Amazon Technologies, Inc. | Configurable logic platform with multiple reconfigurable regions |
JP2019535078A (ja) * | 2016-09-30 | 2019-12-05 | アマゾン テクノロジーズ インコーポレイテッド | プログラマブルハードウェアの別個のサブセットを制御する仮想マシン |
US11275503B2 (en) | 2016-09-30 | 2022-03-15 | Amazon Technologies, Inc. | Controlling access to previously-stored logic in a reconfigurable logic device |
JP7044770B2 (ja) | 2016-09-30 | 2022-03-30 | アマゾン テクノロジーズ インコーポレイテッド | プログラマブルハードウェアの別個のサブセットを制御する仮想マシン |
US11115293B2 (en) | 2016-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Networked programmable logic service provider |
JP7461380B2 (ja) | 2019-05-23 | 2024-04-03 | ザイリンクス インコーポレイテッド | ヘテロジニアスプログラマブルデバイスのためのハードウェアソフトウェア設計時のフロー収束 |
Also Published As
Publication number | Publication date |
---|---|
US20040098569A1 (en) | 2004-05-20 |
USRE42444E1 (en) | 2011-06-07 |
EP1138001B1 (en) | 2003-08-27 |
EP1351154A2 (en) | 2003-10-08 |
JP2014059905A (ja) | 2014-04-03 |
WO2000031652A2 (en) | 2000-06-02 |
DE69910826D1 (de) | 2003-10-02 |
JP2011090710A (ja) | 2011-05-06 |
EP1351153A3 (en) | 2008-11-05 |
DE69910826T2 (de) | 2004-06-17 |
WO2000031652A3 (en) | 2000-12-28 |
US7171548B2 (en) | 2007-01-30 |
JP2010170572A (ja) | 2010-08-05 |
JP5050069B2 (ja) | 2012-10-17 |
EP1351153A2 (en) | 2003-10-08 |
JP2012252712A (ja) | 2012-12-20 |
US6658564B1 (en) | 2003-12-02 |
EP1138001A2 (en) | 2001-10-04 |
JP5509107B2 (ja) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5509107B2 (ja) | 再構成可能なプログラマブルロジックデバイスコンピュータシステム | |
WO2000031652A9 (en) | Reconfigurable programmable logic device computer system | |
RU2569805C2 (ru) | Виртуальная архитектура неоднородной памяти для виртуальных машин | |
CA2121154C (en) | System for emulating multi-tasking pipelines in a single tasking environment | |
RU2571366C2 (ru) | Виртуальная архитектура неоднородного доступа к памяти для виртуальных машин | |
US9542231B2 (en) | Efficient execution of parallel computer programs | |
KR100361635B1 (ko) | 논리적 분할부 관리기 및 방법 | |
US6957435B2 (en) | Method and apparatus for allocating processor resources in a logically partitioned computer system | |
US5557795A (en) | Pipelined image processing system for a single application environment | |
US7159216B2 (en) | Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system | |
JP7545211B2 (ja) | 多重経路ニューラルネットワークの複数のレイヤにリソースを割り当てる方法 | |
US20090327610A1 (en) | Method and System for Conducting Intensive Multitask and Multiflow Calculation in Real-Time | |
US9116628B2 (en) | Apparatus and method for providing a multicore programming platform | |
KR20090018068A (ko) | 컴퓨팅 장치 및 컴퓨팅 장치 상에서 가상 머신을 구현하기 위한 컴퓨터 실행 가능 명령들을 저장한 컴퓨터 판독 가능 매체 | |
KR20040028805A (ko) | 프로세서로 산출하기 위한 시스템 | |
US6985976B1 (en) | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks | |
Jones et al. | Programming issues raised by a multiprocessor | |
Thomadakis et al. | Multithreaded runtime framework for parallel and adaptive applications | |
US20120137300A1 (en) | Information Processor and Information Processing Method | |
Guzman et al. | MCC Technical Report Number: PP-163-87 | |
Schuttenberg | Linux Kernel Support For Micro-Heterogeneous Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090916 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20091215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20091222 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100107 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100208 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100316 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100809 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20101019 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20101203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110323 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20110323 |