(57)【要約】本発明は、新しいカテゴリの集積回路、および、適応あるいは再構成可能な計算のための新しい技法に関する。ＩＣの好ましい実施例は、相互接続ネットワークに結合した複数の異質計算要素を含む。複数の異質計算要素は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティのような異なる機能のための固定構造のような、固定で異なる構造を有する対応する計算要素を含む。構成情報に応答して、相互接続ネットワークは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含む、複数の異なる機能モードのために複数の異質計算要素を構成および再構成するようリアルタイムで動作する。多様な固定構造は、特に移動、ハンドヘルドあるいは他の電池で作動する計算応用に適している、適応計算集積回路の消費電力を比較的に最小にし、性能を比較的に高めるように選択される。
2005508532.tif 000002
【特許請求の範囲】
【請求項１】
適応計算集積回路であって、
複数の異質計算要素であって、第１の計算要素および第２の計算要素を含み、前記第１の計算要素は第１の固定構造を有し、前記第２の計算要素は第２の固定構造を有し、前記第１の固定構造は前記第２の固定構造とは異なる、複数の異質計算要素と、
前記複数の異質計算要素に結合した相互接続ネットワークであって、第１の構成情報に応答して、前記複数の異質計算要素を複数の機能モードの第１の機能モードのために構成するよう動作し、第２の構成情報に応答して、前記複数の異質計算要素を前記複数の機能モードの第２の機能モードのために再構成するよう動作し、前記第１の機能モードが前記第２の機能モードとは異なる、相互接続ネットワーク、を含む適応計算集積回路。
【請求項２】
請求項１に記載の適応計算集積回路において、上記第１の固定構造および上記第２の固定構造は複数の特定構造から選択され、前記複数の特定構造は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティを含むことを特徴とする、上記適応計算集積回路。
【請求項３】
請求項１に記載の適応計算集積回路において、上記複数の機能モードは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含むことを特徴とする、上記適応計算集積回路。
【請求項４】
請求項１に記載の適応計算集積回路において、上記第１の固定構造および上記第２の固定構造は、上記適応計算集積回路の消費電力を比較的最小化するよう選択されることを特徴とする、上記適応計算集積回路。
【請求項５】
請求項１に記載の適応計算集積回路において、上記相互接続ネットワークは、データおよび制御情報を上記複数の異質計算要素間および中で再構成可能に経路指定することを特徴とする、上記適応計算集積回路。
【請求項６】
請求項１に記載の適応計算集積回路において、上記第１の構成情報および上記第２の構成情報はデータと混合されて単一のビット・ストリームを形成することを特徴とする、上記適応計算集積回路。
【請求項７】
請求項１に記載の適応計算集積回路であって、さらに、
上記複数の異質計算要素および上記相互接続ネットワークに結合した制御装置であって、上記複数の異質計算要素の上記第１の機能モードのための上記構成、および、上記複数の異質計算要素の上記第２の機能モードのための上記再構成を指示しスケジュールするよう動作する制御装置を含むことを特徴とする、上記適応計算集積回路。
【請求項８】
請求項７に記載の適応計算集積回路において、上記制御装置はさらに、上記複数の異質計算要素の上記構成および再構成を、対応するデータとタイミングをとりスケジュールするよう動作することを特徴とする、上記適応計算集積回路。
【請求項９】
請求項７に記載の適応計算集積回路において、上記制御装置はさらに、上記第１の構成情報および上記第２の構成情報を、複数の構成情報と混合されたデータを含む単一のビット・ストリームから選択するよう動作することを特徴とする、上記適応計算集積回路。
【請求項１０】
請求項１に記載の適応計算集積回路であって、さらに、
上記複数の異質計算要素および上記相互接続ネットワークに結合したメモリであって、上記第１の構成情報および上記第２の構成情報を記憶するよう動作するメモリを含むことを特徴とする、上記適応計算集積回路。
【請求項１１】
請求項１に記載の適応計算集積回路において、上記複数の異質計算要素は、上記相互接続ネットワークを通しておよび複数の構成情報に応答して、データ・フロー・グラフの複数の論理機能を実現するために、構成および再構成することができることを特徴とする、上記適応計算集積回路。
【請求項１２】
請求項１に記載の適応計算集積回路において、上記相互接続ネットワークは、データ・フロー・グラフの複数の論理決定を実行するために、さらに構成することができることを特徴とする、上記適応計算集積回路。
【請求項１３】
請求項１に記載の適応計算集積回路において、上記複数の異質計算要素は、複数の適応および異質の計算装置を形成するよう構成することができることを特徴とする、上記適応計算集積回路。
【請求項１４】
請求項１３に記載の適応計算集積回路において、上記複数の異質計算装置の各計算装置はさらに、
上記複数の異質計算要素に結合した計算装置制御装置であって、複数の構成情報に応答して複数の制御ビットを生成する計算装置制御装置と、
複数の入力マルチプレクサであって、前記複数の制御ビットに応答して、入力情報の受信のために上記相互接続ネットワークから１つの入力線を選択する複数の入力マルチプレクサと、
複数の出力デマルチプレクサであって、前記複数の制御ビットに応答して、出力情報の転送のために上記相互接続ネットワークから複数の出力線を選択する複数の出力デマルチプレクサ、を含むことを特徴とする、上記適応計算集積回路。
【請求項１５】
請求項１３に記載の適応計算集積回路において、上記複数の計算装置は、複数の再構成可能マトリックスを形成するよう構成することができることを特徴とする、上記適応計算集積回路。
【請求項１６】
請求項１に記載の適応計算集積回路において、上記適応計算集積回路は複数の操作モードを有する移動端末内に実現されることを特徴とする、上記適応計算集積回路。
【請求項１７】
請求項１６に記載の適応計算集積回路において、上記移動端末の上記複数の操作モードは、移動通信、パーソナル・デジタル・アシスタンス、マルチメディア受信、移動パケット・ベース通信、およびポケットベル・サービスを含むことを特徴とする、上記適応計算集積回路。
【請求項１８】
適応計算のための方法であって、
第１の構成情報に応答して、相互接続ネットワークを通して複数の機能モードの第１の機能モードのために複数の異質計算要素を構成し、前記複数の異質計算要素は、第１の計算要素および第２の計算要素を含み、前記第１の計算要素は第１の固定構造を有し、前記第２の計算要素は第２の固定構造を有し、前記第１の固定構造は前記第２の固定構造とは異なり、
第２の構成情報に応答して、前記相互接続ネットワークを通して前記複数の機能モードの第２の機能モードのために前記複数の異質計算要素を再構成し、前記第１の機能モードは前記第２の機能モードとは異なる、ことを備えた適応計算のための方法。
【請求項１９】
請求項１８に記載の適応計算方法において、上記第１の固定構造および上記第２の固定構造は複数の特定構造から選択され、前記複数の特定構造は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティを含むことを特徴とする、上記適応計算方法。
【請求項２０】
請求項１８に記載の適応計算方法において、上記複数の機能モードは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含むことを特徴とする、上記適応計算方法。
【請求項２１】
請求項１８に記載の適応計算方法において、上記第１の固定構造および上記第２の固定構造は、上記適応計算集積回路の消費電力を比較的最小化するよう選択されることを特徴とする、上記適応計算方法。
【請求項２２】
請求項１８に記載の適応計算方法であって、さらに、
上記相互接続ネットワークを通して、データおよび制御情報を上記複数の異質計算要素間および中で再構成可能に経路指定することを備えた、上記適応計算方法。
【請求項２３】
請求項１８に記載の適応計算方法において、上記第１の構成情報および上記第２の構成情報は、データと混合されて単一のビット・ストリームを形成することを特徴とする、上記適応計算方法。
【請求項２４】
請求項１８に記載の適応計算方法であって、さらに、
上記複数の異質計算要素の上記第１の機能モードのための上記構成、および、上記複数の異質計算要素の上記第２の機能モードのための上記再構成を指示しスケジュールする、ことを備える上記適応計算方法。
【請求項２５】
請求項１８に記載の適応計算方法であって、さらに、
上記複数の異質計算要素の上記構成および再構成を、対応するデータとタイミングをとりスケジュールする、ことを備える上記適応計算方法。
【請求項２６】
請求項１８に記載の適応計算方法であって、さらに、
上記第１の構成情報および上記第２の構成情報を、複数の構成情報と混合されたデータを含む単一のビット・ストリームから選択する、ことを備える上記適応計算方法。
【請求項２７】
請求項１８に記載の適応計算方法であって、さらに、
上記第１の構成情報および上記第２の構成情報をメモリに記憶する、ことを備える上記適応計算方法。
【請求項２８】
請求項１８に記載の適応計算方法において、上記複数の異質計算要素は、上記相互接続ネットワークを通しておよび複数の構成情報に応答して、データ・フロー・グラフの複数の論理機能を実現するために構成および再構成することができる、ことを備える上記適応計算方法。
【請求項２９】
請求項１８に記載の適応計算方法において、上記相互接続ネットワークは、データ・フロー・グラフの複数の論理決定を実行するためにさらに構成することができる、ことを備える上記適応計算方法。
【請求項３０】
請求項１８に記載の適応計算方法において、さらに、
複数の制御ビットを生成し、
前記複数の制御ビットに応答して、入力情報の受信のために上記相互接続ネットワークから１つの入力線を選択し、
前記複数の制御ビットに応答して、出力情報の転送のために上記相互接続ネットワークから１つの出力線を選択する、ことを備える上記適応計算方法。
【請求項３１】
請求項１８に記載の適応計算方法において、上記適応計算方法は、複数の操作モードを有する移動端末内において動作可能であることを特徴とする、上記適応計算方法。
【請求項３２】
請求項３１に記載の適応計算方法において、上記移動端末の上記複数の操作モードは、移動通信、パーソナル・デジタル・アシスタンス、マルチメディア受信、移動パケット・ベース通信、およびポケットベル・サービスを含むことを特徴とする、上記適応計算方法。
【請求項３３】
適応計算集積回路であって、
複数の再構成可能マトリックスであって、複数の異質計算装置を含み、前記複数の異質計算装置の各異質計算装置は、複数の固定計算要素の複数の構成の選択された構成から形成され、前記複数の固定計算要素は、第１の構造を有する第１の計算要素および第２の構造を有する第２の計算要素を含み、前記第１の構造は前記第２の構造とは異なり、前記複数の異質計算装置は相互接続ネットワークに結合し、構成情報に応答して再構成可能である、複数の再構成可能マトリックスと、
前記複数の再構成可能マトリックスに結合したマトリックス相互接続ネットワークであって、複数の操作モードのために前記構成情報に応答して、前記複数の再構成可能マトリックスを再構成するよう動作する相互接続ネットワーク、を含む適応計算集積回路。
【請求項３４】
請求項３３に記載の適応計算集積回路において、上記複数の異質計算装置の各計算装置は選択的に再構成可能であり、複数のアルゴリズムの特定のアルゴリズムを実行するよう動作することを特徴とする、上記適応計算集積回路。
【請求項３５】
請求項３３に記載の適応計算集積回路であって、さらに、
上記複数の再構成可能マトリックスに結合した制御装置であって、上記構成情報を上記再構成可能マトリックスおよび上記マトリックス相互接続ネットワークに提供するよう動作する制御装置を含むことを特徴とする、上記適応計算集積回路。
【請求項３６】
請求項３５に記載の適応計算集積回路において、上記制御装置はさらに、上記構成情報を、混合されたデータおよび構成情報の単一の入力ビット・ストリームから検知し選択するよう動作することを特徴とする、上記適応計算集積回路。
【請求項３７】
請求項３５に記載の適応計算集積回路において、上記制御装置は、再構成可能マトリックスの既定の構成として実現されることを特徴とする、上記適応計算集積回路。
【請求項３８】
請求項３５に記載の適応計算集積回路において、上記制御装置はさらに、上記複数の操作モードのために上記複数の固定計算要素の上記構成を指示しスケジュールするよう動作することを特徴とする、上記適応計算集積回路。
【請求項３９】
請求項３５に記載の適応計算集積回路において、上記制御装置はさらに、上記複数の固定計算要素の上記構成および再構成を、対応するデータとタイミングをとりスケジュールするよう動作することを特徴とする、上記適応計算集積回路。
【請求項４０】
請求項３５に記載の適応計算集積回路であって、さらに、
上記制御装置および上記複数の再構成可能マトリックスに結合するメモリであって、上記構成情報を記憶するよう動作するメモリを含むことを特徴とする、上記適応計算集積回路。
【請求項４１】
請求項４０に記載の適応計算集積回路において、上記メモリは、再構成可能マトリックスの既定の構成として実現されることを特徴とする、上記適応計算集積回路。
【請求項４２】
請求項３３に記載の適応計算集積回路において、上記複数の操作モードは、第１の操作モードおよび第２の操作モードを含み、前記第１の操作モードは前記第２の操作モードとは異なることを特徴とする、上記適応計算集積回路。
【請求項４３】
請求項３３に記載の適応計算集積回路において、上記第１の構造および上記第２の構造は複数の特定構造から選択され、前記複数の特定構造は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティのための機能を含むことを特徴とする、上記適応計算集積回路。
【請求項４４】
請求項３３に記載の適応計算集積回路において、上記複数の操作モードは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含むことを特徴とする、上記適応計算集積回路。
【請求項４５】
請求項３３に記載の適応計算集積回路において、上記第１の構造および上記第２の構造は、上記適応計算集積回路の消費電力を比較的最小化するよう選択されることを特徴とする、上記適応計算集積回路。
【請求項４６】
請求項３３に記載の適応計算集積回路において、上記マトリックス相互接続ネットワークの相互接続ネットワーク部分は、上記複数の固定計算要素間および中でデータおよび制御情報を再構成可能に経路指定することを特徴とする、上記適応計算集積回路。
【請求項４７】
請求項３３に記載の適応計算集積回路において、上記構成情報は、データと混合されて単一のビット・ストリームを形成することを特徴とする、上記適応計算集積回路。
【請求項４８】
適応計算集積回路であって、
複数の異質計算要素であって、第１の計算要素および第２の計算要素を含み、前記第１の計算要素は第１の固定構造を有し、前記第２の計算要素は第２の固定構造を有し、前記第１の固定構造は前記第２の固定構造とは異なる、複数の異質計算要素と、
前記複数の異質計算要素に結合した相互接続ネットワークであって、第１の構成情報に応答して、前記複数の異質計算要素を複数の機能モードの第１の機能モードのために構成するよう動作し、第２の構成情報に応答して、前記複数の異質計算要素を前記複数の機能モードの第２の機能モードのために再構成するよう動作し、前記第１の機能モードは前記第２の機能モードとは異なる、相互接続ネットワーク、を含み、
前記複数の異質計算要素の第１のサブセットは、制御装置動作モードのために構成され、前記制御装置動作モードは、前記複数の異質計算要素の構成および再構成を指示するため、前記第１の構成情報および前記第２の構成情報を複数の構成情報と混合されたデータを含む単一のビット・ストリームから選択するため、および、前記複数の異質計算要素の前記構成および再構成を対応するデータとスケジュールするための機能を含み、
前記複数の異質計算要素の第２のサブセットは、前記第１の構成情報および前記第２の構成を記憶するためのメモリ動作モードのために構成される、適応計算集積回路。
【請求項４９】
請求項４８に記載の適応計算集積回路において、上記第１の固定構造および上記第２の固定構造は複数の固定構造から選択され、前記複数の固定構造は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティのための機能を含むことを特徴とする、上記適応計算集積回路。
【請求項５０】
請求項４８に記載の適応計算集積回路において、上記複数の機能モードは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含むことを特徴とする、上記適応計算集積回路。
【請求項５１】
請求項４８に記載の適応計算集積回路において、上記適応計算集積回路は、複数の操作モードを有する移動端末内において実現されることを特徴とする、上記適応計算集積回路。
【請求項５２】
請求項５１に記載の適応計算集積回路において、上記移動端末の上記複数の操作モードは、移動通信、パーソナル・デジタル・アシスタンス、マルチメディア受信、移動パケット・ベース通信、およびポケットベル・サービスを含むことを特徴とする、上記適応計算集積回路。
【請求項５３】
適応計算集積回路であって、
複数の異質計算要素であって、第１の計算要素および第２の計算要素を含み、前記第１の計算要素は第１の固定構造を有し、前記第２の計算要素は複数の固定構造の第２の固定構造を有し、前記第１の固定構造は前記第２の固定構造とは異なり、前記複数の固定構造は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティのための機能を含む、複数の異質計算要素と、
前記複数の異質計算要素に結合した相互接続ネットワークであって、第１の構成情報に応答して、前記複数の異質計算要素を複数の機能モードの第１の機能モードのために構成するよう動作し、さらに、第２の構成情報に応答して、前記複数の異質計算要素を前記複数の機能モードの第２の機能モードのために再構成するよう動作し、前記第１の機能モードは前記第２の機能モードとは異なる、相互接続ネットワーク、を含む適応計算集積回路。
【請求項５４】
請求項５３に記載の適応計算集積回路において、上記複数の機能モードは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含むことを特徴とする、上記適応計算集積回路。
【請求項５５】
請求項５３に記載の適応計算集積回路において、上記複数の固定構造は、上記適応計算集積回路の消費電力を比較的最小化するよう選択されることを特徴とする、上記適応計算集積回路。
【請求項５６】
請求項５３に記載の適応計算集積回路において、上記相互接続ネットワークは、上記複数の異質計算要素間および中でデータおよび制御情報を再構成可能に経路指定することを特徴とする、上記適応計算集積回路。
【請求項５７】
請求項５３に記載の適応計算集積回路において、上記第１の構成情報および上記第２の構成情報は、データと混合されて単一のビット・ストリームを形成することを特徴とする、上記適応計算集積回路。
【請求項５８】
請求項５３に記載の適応計算集積回路であって、さらに、
上記複数の異質計算要素および上記相互接続ネットワークに結合した制御装置であって、上記複数の異質計算要素の上記第１の機能モードのための上記構成、および、上記複数の異質計算要素の上記第２の機能モードのための上記再構成を指示しスケジュールするよう動作する制御装置を含むことを特徴とする、上記適応計算集積回路。
【請求項５９】
請求項５８に記載の適応計算集積回路において、上記制御装置はさらに、上記複数の異質計算要素の上記構成および再構成を、対応するデータとタイミングをとりスケジュールするよう動作することを特徴とする、上記適応計算集積回路。
【請求項６０】
請求項５９に記載の適応計算集積回路において、上記制御装置はさらに、上記第１の構成情報および上記第２の構成情報を、複数の構成情報と混合されたデータを含む単一のビット・ストリームから選択するよう動作することを特徴とする、上記適応計算集積回路。
【請求項６１】
請求項５３に記載の適応計算集積回路であって、さらに、
上記複数の異質計算要素および上記相互接続ネットワークに結合したメモリであって、上記第１の構成情報および上記第２の構成情報を記憶するよう動作するメモリを含むことを特徴とする、上記適応計算集積回路。
【請求項６２】
請求項５３に記載の適応計算集積回路において、上記適応計算集積回路は、複数の操作モードを有する移動端末内において実現されることを特徴とする、上記適応計算集積回路。
【請求項６３】
請求項６２に記載の適応計算集積回路において、上記移動端末の上記複数の操作モードは、移動通信、パーソナル・デジタル・アシスタンス、マルチメディア受信、移動パケット・ベース通信、およびポケットベル・サービスを含むことを特徴とする、上記適応計算集積回路。
【請求項６４】
適応計算集積回路であって、
複数の異質計算要素であって、第１の計算要素および第２の計算要素を含み、前記第１の計算要素は第１の固定構造を有し、前記第２の計算要素は第２の固定構造を有し、前記第１の固定構造は前記第２の固定構造とは異なる、複数の異質計算要素と、
前記複数の異質計算要素に結合した相互接続ネットワークであって、第１の構成情報に応答して、前記複数の異質計算要素を複数の機能モードの第１の機能モードのために構成するよう動作し、さらに、第２の構成情報に応答して、前記複数の異質計算要素を前記複数の機能モードの第２の機能モードのために再構成するよう動作し、前記第１の機能モードは前記第２の機能モードとは異なり、前記複数の操作モードは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、メモリ動作、およびビット・レベル操作を含む、相互接続ネットワーク、を含む適応計算集積回路。
【請求項６５】
請求項６４に記載の適応計算集積回路において、上記第１の固定構造および上記第２の固定機能は複数の特定構造から選択され、前記複数の特定構造は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラマビリティを含むことを特徴とする、上記適応計算集積回路。
【請求項６６】
請求項６４に記載の適応計算集積回路において、上記第１の固定構造および上記第２の固定構造は、上記適応計算集積回路の消費電力を比較的最小化するよう選択されることを特徴とする、上記適応計算集積回路。
【請求項６７】
請求項６４に記載の適応計算集積回路において、上記相互接続ネットワークは、上記複数の異質計算要素間および中でデータおよび制御情報を再構成可能に経路指定することを特徴とする、上記適応計算集積回路。
【請求項６８】
請求項６４に記載の適応計算集積回路において、上記第１の構成情報および上記第２の構成情報は、データと混合されて単一のビット・ストリームを形成することを特徴とする、上記適応計算集積回路。
【請求項６９】
請求項６４に記載の適応計算集積回路であって、さらに、
上記複数の異質計算要素および上記相互接続ネットワークに結合した制御装置であって、上記複数の異質計算要素の上記第１の機能モードのための上記構成、および、上記複数の異質計算要素の上記第２の機能モードのための上記再構成を指示しスケジュールするよう動作する制御装置を含むことを特徴とする、上記適応計算集積回路。
【請求項７０】
請求項６９に記載の適応計算集積回路において、上記制御装置はさらに、上記複数の異質計算要素の上記構成および再構成を、対応するデータとタイミングをとりスケジュールするよう動作することを特徴とする、上記適応計算集積回路。
【請求項７１】
請求項６９に記載の適応計算集積回路において、上記制御装置はさらに、上記第１の構成情報および上記第２の構成情報を、複数の構成情報と混合されたデータを含む単一のビット・ストリームから選択するよう動作することを特徴とする、上記適応計算集積回路。
【請求項７２】
請求項６４に記載の適応計算集積回路であって、さらに、
上記複数の異質計算要素および上記相互接続ネットワークに結合したメモリであって、上記第１の構成情報および上記第２の構成情報を記憶するよう動作するメモリを含むことを特徴とする、上記適応計算集積回路。
【請求項７３】
請求項６４に記載の適応計算集積回路において、上記適応計算集積回路は、複数の操作モードを有する移動端末内において実現されることを特徴とする、上記適応計算集積回路。
【請求項７４】
請求項７３に記載の適応計算集積回路において、上記移動端末の上記複数の操作モードは、移動通信、パーソナル・デジタル・アシスタンス、マルチメディア受信、移動パケット・ベース通信、およびポケットベル・サービスを含むことを特徴とする、上記適応計算集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は一般に集積回路、および特に、固定特定用途向け計算要素を有する多様な適応計算装置の異質再構成可能マトリックスを有する適応集積回路に関する。
【背景技術】
【０００２】
（発明の背景）
集積回路（“ＩＣ”）の設計および開発における進歩により、万能チューリングマシンの種類（マイクロプロセッサおよびデジタル信号プロセッサ（“ＤＳＰ”）を含む）、特定用途向け集積回路（“ＡＳＩＣ”）、および書替え可能ゲート・アレイ（“ＦＰＧＡ”）等の、異なる特性および機能を有するいくつかの異なる型あるいはカテゴリのＩＣが一般に作り出された。これらの異なる型のＩＣおよび対応する設計技法はそれぞれ、異なる利点および不利益を有する。
【０００３】
例えば、マイクロプロセッサおよびＤＳＰは通常、多様なタスクの実現に対する柔軟なソフトウェア・プログラム可能な解決方法を提供する。多様な技術基準が進化するに伴い、マイクロプロセッサおよびＤＳＰは、多様な新しいあるいは変更された機能あるいは動作を実行するために、多様な程度に再プログラムすることができる。しかし、多様なタスクあるいはアルゴリズムは、バス幅やハードウェア可用性のようなプロセッサの物理的制限に適応するように、分割され制限されなければならない。加えて、プロセッサは命令を実行するために設計されているので、ＩＣの多くの領域は命令処理のために割当てられており、その結果、プロセッサは実際のアルゴリズム演算の実行においては比較的効率が悪く、所定のクロック・サイクルの間に実行されるのは、これらの演算のわずか数パーセントのみである。マイクロプロセッサおよびＤＳＰは、さらに、比較的限られた活動率を有し、例えばそれらのトランジスタの約５パーセントのみが所定の時間におけるアルゴリズム演算に従事し、大部分のトランジスタは命令処理に割当てられている。その結果、所定のアルゴリズム演算の実行に対して、プロセッサは、ＡＳＩＣのような他の型のＩＣと比較してかなり大きいＩＣ（あるいはシリコン）領域を消費し、かなり大きい電力を消費することとなる。
【０００４】
消費電力および大きさにおいて比較的有利な点を有する反面、ＡＳＩＣは、高度に特定なタスクあるいは一群の高度に特定なタスクを実行するために固定された変更のできない、つまり“ハードワイヤード”実現されたトランジスタ（又は論理ゲート）を提供する。ＡＳＩＣは通常、これらのタスクをかなり効果的に実行し、例えば２５から３０パーセントのトランジスタが所定の時間における切替えに従事するような、比較的高い活動率を有する。しかし一旦エッチングされると、ＡＳＩＣは容易に変更することができず、どんな変更も時間がかかり高価であり、事実上新しいマスクを要し新たに製造する必要がある。その結果、ＡＳＩＣ設計は実質的にいつもある程度旧式であり、その設計サイクルは製品実現に対する進化する基準より遅れている。例えば、移動通信のためのＧＳＭあるいはＣＤＭＡ基準を実現するためのＡＳＩＣ設計は、３Ｇのような新しい基準が現れたために、比較的旧式となっている。
【０００５】
ＦＰＧＡは、ある程度の製造後変更を可能にする、何らかの設計およびプログラミング柔軟性を提供するよう、開発された。ＦＰＧＡは通常、多くのレベルのプログラマブル相互接続に囲まれた、プログラマブル論理（論理ゲート）の小さな同一のセクションあるいは“アイランド”から成る。ＦＰＧＡは同質であり、ＩＣは、論理ゲート、メモリおよびプログラマブル相互接続の同一の群の反復する配列から成る。特定の機能は、多様な論理ゲートを特定の順序および配置に接続するよう相互接続を構成する（あるいは再構成する）ことにより、実現することができる。ＦＰＧＡの最も重要な利点はその製造後の再構成性であり、このことは変化あるいは進化する仕様あるいは基準の実現において、ある程度の柔軟性を与えている。しかし、ＦＰＧＡに対する再構成工程は比較的遅く、通常大部分のリアルタイムの緊急な応用には適さない。
【０００６】
ＦＰＧＡのこの製造後の柔軟性は重要な利点を提供する反面、ＦＰＧＡは対応する本質的な欠点を有している。ＡＳＩＣと比較すると、ＦＰＧＡは非常に高価で、特定の機能の実現に対して非常に効率が悪く、しばしば“組合せ爆発”問題を起こす。特に、ＦＰＧＡ実現に対して、特にあるアルゴリズム演算のＦＰＧＡ材料の論理ゲートの既存の同質アイランドへの適応が不十分である場合、その特定のアルゴリズム演算は比較的に、桁違いにより大きいＩＣ領域、時間および電力を必要とすることがある。加えて、プログラマブル相互接続は、再構成柔軟性を提供するために十分に豊かで使用可能でなければならず、従って高い静電容量を有し、その結果、動作が比較的遅くなり消費電力量が多くなる。例えば、ＡＳＩＣと比較すると、例えば乗算器のような比較的単純な機能のＦＰＧＡ実現は、かなりのＩＣ領域およびかなりの量の電力を消費し、桁違いにかなり性能が悪い。さらに、ＦＰＧＡ経路指定にはカオス的な要素があり、そのためにＦＰＧＡは予測不可能な経路の遅れおよび無駄となった論理資源を有することとなり、資源の経路指定および経路指定アルゴリズムにおける制限のために、通常理論上は使用可能なゲートの約２分の１以上が未使用のまま残される。
【０００７】
これらの多様なプロセッサ、ＡＳＩＣおよびＦＰＧＡ構造を結合あるいは組合せる多様な従来技術の試行は、ある限られた応用に対しては有用であったが、小電力で高効率そしてリアルタイムの応用に対しては、成功つまり有用であるとは証明されなかった。通常、これらの従来技術の試行は、単一のチップ上に、プロセッサあるいはＡＳＩＣのいずれかに隣接する（相互接続を有する同一の論理ゲートの反復配列から成る）既知のＦＰＧＡ材料の領域を、限られた相互運用性で、プロセッサあるいはＡＳＩＣ機能性のいずれかに対する補助として提供しただけであった。例えば、１９９８年４月７日発行、トリンバーガによる“再プログラマブル命令セット・アクセラレータ”と題する米国特許第５，７３７，６３１号は、汎用プロセッサのための命令加速を提供するよう設計され、（共に再プログラマブル命令セット・アクセラレータを形成するＦＰＧＡ構成格納を有する）既知のＦＰＧＡ材料と並列に組合わされたこのような基本マイクロプロセッサから成るホストＣＰＵを開示するに過ぎない。この再プログラマブル命令セット・アクセラレータは、何らかの製造後再構成柔軟性およびプロセッサ加速を可能にするが、それにも関わらず、消費電力が大きく静電容量が多く、比較的速度が遅く効率が悪くそして活動率が低いというような従来のプロセッサおよび従来のＦＰＧＡ材料の欠点を有している。
【０００８】
２０００年７月２５日発行、タバナその他による“書替え可能および特定用途向け論理領域を有する集積回路”と題する米国特許第６，０９４，０６５号は、設計あるいは他のレイアウトの不備の修正のような、ＡＳＩＣのある程度の製造後修正を可能にするよう設計され、マスク定義特定用途向け論理領域（つまりＡＳＩＣ材料）と並列に組合された書替え可能ゲート・アレイの使用を開示している。ここでもまた、豊かなプログラマブル相互接続内の同一の論理ゲートの反復配列からなる既知のＦＰＧＡ材料が、同一のシリコン・チップ内のＡＳＩＣ材料に隣接して置かれているのみである。潜在的に“バグ修正”および他のエラー修正のための製造後手段を提供する一方、従来技術のＩＣは、それにも関わらず、ＡＳＩＣの再プログラマビリティが非常に制限されていること、および、ＦＰＧＡの消費電力が大きく比較的速度が遅く効率が悪く活動率が低いこと、などの従来のＡＳＩＣおよび従来のＦＰＧＡ材料の多様な欠点を有している。
【０００９】
その結果、プロセッサＡＳＩＣおよびＦＰＧＡの多様な利点を、効果的かつ効率的に組合せ最大限にする、新しい形式あるいは型の集積回路がいまだ必要である。このような新しい形式あるいは型の集積回路は、例えば、プロセッサのプログラミング柔軟性、ＦＰＧＡの製造後柔軟性、および、ＡＳＩＣの高速および高有用率を含まなければならない。このような集積回路は、リアルタイムで容易に再構成可能であり、対応する複数の動作モードを有することができなければならない。加えて、このような集積回路は、消費電力を最小にしなければならず、ハンドヘルドおよび他の電池で作動する装置での使用に対するような小電力応用に適していなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
（発明の概要）
本発明は、プロセッサＡＳＩＣおよびＦＰＧＡの多様な利点を効果的かつ効率的に組合せ最大限にし、可能性のある不利益を最小にする、新しい形式あるいは型の集積回路を提供する。本発明により、適応計算エンジン（ＡＣＥ）と称されるこのような新しい形式あるいは型の集積回路が開示され、プロセッサのプログラミング柔軟性、ＦＰＧＡの製造後の柔軟性、およびＡＳＩＣの高速および高有用率を提供する。本発明のＡＣＥ集積回路は、リアルタイムで容易に再構成可能であり、対応する複数の動作モードを有することができ、さらに、消費電力を最小にする一方性能を高め、特に、ハンドヘルドおよび他の電池で作動する装置での使用に対するような小電力応用に特に適している。
【課題を解決するための手段】
【００１１】
適応あるいは再構成可能な計算のための、本発明のＡＣＥ構造は、ＦＰＧＡの同質装置ではなく、相互接続ネットワークに結合した複数の異質計算要素を含む。複数の異質計算要素は、メモリ、加算、乗算、複合乗算、減算、構成、再構成、制御、入力、出力およびフィールド・プログラマビリティ（書替え可能性）のような異なる機能のための固定構造のような、固定のおよび異なる構造を有する対応する計算要素を含む。構成情報に応答して、相互接続ネットワークは、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態機械動作、記憶動作、およびビット・レベル操作を含む、複数の異なる機能モードに対して複数の異質計算要素を構成および再構成するよう、リアルタイムで動作する。
【発明の効果】
【００１２】
以下により詳細に説明され記述されるように、本発明のＡＣＥ構造は単一のＩＣを提供し、このＩＣは、多様なタスクを実行するために、これらの固定および特定用途向け計算要素を使用して、リアルタイムで構成および再構成することができる。例えば、異質計算要素の同一のセットの時間と共に変化する異なる構成を使用して、ＡＣＥ構造は、有限インパルス応答フィルタリング、高速フーリエ変換、離散コサイン変換のような機能を実行することができ、また、他の型の計算要素と共に、高度な通信および計算のための多くの他の高レベルな処理機能を実行することができる。
【００１３】
本発明の多くの他の利点および特徴は、以下の本発明およびその実施例の詳細な記述、請求項および付随する図面により容易に明らかとなるであろう。
【００１４】
（本発明の詳細な説明）
本発明は多くの異なる形式の実施例によって説明され、これらの実施例は図面に示され、また本発明の特定の実施がここに詳細に記述されるが、本発明の開示は、本発明の原理の一例と解釈されるべきであり、本発明をここに説明される特定の実施例に限定するものではない。
【００１５】
上記のように、プロセッサＡＳＩＣおよびＦＰＧＡの多様な利点を効果的かつ効率的に組合せ最大限にし、可能性のある不利益を最小にする、新しい形式あるいは型の集積回路がいまだ必要とされている。本発明により、プロセッサのプログラミング柔軟性、ＦＰＧＡの製造後の柔軟性、およびＡＳＩＣの高速および高利用率を提供する、適応計算エンジン（ＡＣＥ）と称されるこのような新しい形式あるいは型の集積回路が開示される。本発明によるＡＣＥ集積回路は、リアルタイムで容易に再構成可能であり、対応する複数の動作モードを有することができ、さらに、消費電力を最小にする一方性能を高め、特に小電力応用に適している。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明による装置１００の好ましい実施例を示すブロック図である。装置１００は、ここで適応計算エンジン（“ＡＣＥ”）１００と呼ばれ、集積回路としてあるいは他の付加的構成要素を有する集積回路の一部として実施されることが望ましい。好ましい実施例において、以下により詳細に説明されるように、ＡＣＥ１００は、図示されるマトリックス１５０Ａから１５０Ｎのような１つ以上の再構成可能マトリックス（あるいはノード）１５０、およびマトリックス相互接続ネットワーク１１０を含む。好ましい実施例においてはまた、以下に詳細に説明されるように、マトリックス１５０Ａおよび１５０Ｂのような１つ以上のマトリックス１５０は制御装置１２０としての機能のために構成され、マトリックス１５０Ｃおよび１５０Ｄのような他のマトリックスはメモリ１４０としての機能のために構成される。多様なマトリックス１５０およびマトリックス相互接続ネットワーク１１０はまた、フラクタル副装置として共に実施することもできる。この副装置は数ノードから数千ノードにわたってもよい。
【００１７】
従来技術からの重要な相違として、ＡＣＥ１００は、再構成可能マトリックス１５０、制御装置１２０、およびメモリ１４０あるいは他の入力／出力（“Ｉ／Ｏ”）機能の間そしてそれらの中の信号および他の伝送のために、従来の（そして通常別々の）データ、ＤＭＡ、ランダム・アクセス、構成および命令バスを使用しない。その代わり、データ、制御、および構成情報は、これらのマトリックス１５０要素の間そしてそれらの中で、マトリックス相互接続ネットワーク１１０を使用して伝送される。マトリックス相互接続ネットワーク１１０は、以下により詳細に説明されるように、制御装置１２０およびメモリ１４０として構成されたマトリックス１５０を含む、再構成可能マトリックス１５０間および中の任意の接続を提供するために、リアルタイムで構成および再構成することができる。
【００１８】
メモリ１４０として機能するよう構成されたマトリックス１５０は、固定記憶要素の（後述の）計算要素を使用して、任意の望ましいあるいは好ましい方法で実現することができ、ＡＣＥ１００内に含まれるようにしてもよいし、他のＩＣ内あるいはＩＣの一部分に組込まれるようにすることもできる。好ましい実施例において、メモリ１４０はＡＣＥ１００内に含まれ、小消費電力ランダム・アクセス・メモリ（ＲＡＭ）である計算要素から成ることが好ましいが、フラッシュ、ＤＲＡＭ、ＳＲＡＭ、ＭＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、あるいはＥ２ＰＲＯＭのような任意の他の形式のメモリの計算要素で形成されてもよい。好ましい実施例において、メモリ１４０は、個別に図示されていないが、ダイレクト・メモリ・アクセス（ＤＭＡ）エンジンを含むことが望ましい。
【００１９】
制御装置１２０は、適応有限状態機械として構成されているマトリックス１５０Ａおよび１５０Ｂを使用して、以下に説明される２つの型の機能を実行することのできる、縮小命令セット（“ＲＩＳＣ”）プロセッサ、制御装置あるいは他の装置またはＩＣとして実現されることが望ましい。（あるいは、これらの機能は、従来のＲＩＳＣあるいは他のプロセッサを使用して実施することができる。）第１の制御機能は、“カーネル”制御と呼ばれ、マトリックス１５０Ａのカーネル制御装置（“ＫＡＲＣ”）として図示されている。第２の制御機能は、“マトリックス”制御と呼ばれ、マトリックス１５０Ｂのマトリックス制御装置（“ＭＡＲＣ”）として図示されている。制御装置１２０のカーネルおよびマトリックス制御機能は、多用なマトリックス１５０の構成可能性および再構成可能性に関して、および、ここで“シルバーウェア”モジュールと称される組合されたデータ、構成および制御情報の好ましい形式に関して、以下により詳細に説明される。
【００２０】
図１のマトリックス相互接続ネットワーク１１０およびそのサブセット相互接続ネットワークは、図３および図４に個別に図示され（ブール相互接続ネットワーク２１０、データ相互接続ネットワーク２４０、および相互接続２２０）、ここで集合的および総括的に“相互接続”（interconnect）、“相互接続”（interconnection）あるいは“相互接続ネットワーク”と呼ばれ、多様な方法があるが、例えばＦＰＧＡ相互接続ネットワークあるいは切替え構造等を使用して、一般に現在の技術水準において周知のように実施することができる。好ましい実施例において、多様な相互接続ネットワークは、例えば、米国特許第５，２１８，２４０号、米国特許第５，３３６，９５０号、米国特許第５，２４５，２２７号、および米国特許第５，１４４，１６６号に開示されるように、そして、図７、図８および図９に図示され以下に説明されるように、実行される。これらの多様な相互接続ネットワークは、制御装置１２０、メモリ１４０、多様なマトリックス１５０、および以下に説明される計算装置２００および計算要素２５０間および中の選択可能な（あるいは切替え可能な）接続を提供し、ここで総括的に“構成情報”と称される構成信号の制御に応答してまたその下に、ここに称される構成および再構成のための物理的基礎を提供する。加えて、多様な相互接続ネットワーク（１１０、２１０、２４０および２２０）は、選択的あるいは切替え可能なデータ、入力、出力、制御および構成経路を、制御装置１２０、メモリ１４０、多様なマトリックス１５０、および、計算装置２００および計算要素２５０の間および中に、任意の形式の従来のあるいは個別の入力／出力バス、データ・バス、ＤＭＡ、ＲＡＭ、構成および命令バスの代わりに提供する。
【００２１】
しかし、多様な相互接続ネットワーク（１１０、２１０、２４０、および２２０）のあるいはこれらの中の任意の切替えあるいは選択動作は、現在の技術水準において周知のように実施することができるが、多様な相互接続ネットワーク（１１０、２１０、２４０および２２０）の本発明による設計およびレイアウトは、以下により詳細に説明されるように新しい新規なものであることに留意されたい。例えば、相互接続の変化するレベルは、以下に述べるように、マトリックス１５０、計算装置２００、および計算要素２５０の変化するレベルに対応するよう提供される。マトリックス１５０レベルにおいては、従来技術のＦＰＧＡ相互接続と比較して、マトリックス相互接続ネットワーク１１０は、静電容量を減少させ動作速度を増すために、かなりより限定されより“豊か”でなく、任意の領域における接続能力がより少ない。しかし、特定のマトリックス１５０あるいは計算装置２００内においては、相互接続ネットワーク（２１０、２２０および２４０）は、狭いあるいは閉じた参照局所性においてより大きい適応性および再構成可能性を提供するために、かなりより濃く豊かである。
【００２２】
多様なマトリックスあるいはノード１５０は、概して再構成可能で異質であり、望ましい構成に依存している。再構成可能マトリックス１５０Ａは、一般に、再構成可能マトリックス１５０Ｂから１５０Ｎとは異なり、再構成可能マトリックス１５０Ｂは、一般に、再構成可能マトリックス１５０Ａおよび１５０Ｃから１５０Ｎとは異なり、再構成可能マトリックス１５０Ｃは、一般に、再構成可能マトリックス１５０Ａ、１５０Ｂおよび１５０Ｄから１５０Ｎとは異なり、以下同様である。多様な再構成可能マトリックス１５０はそれぞれ、一般に、適応および再構成可能計算の（computational）（あるいは計算（computation））装置（２００）の異なるあるいは変化する混合を含み、計算装置２００は、代わりに、一般に、図３および図４に関して以下により詳細に説明される、固定特定用途向け計算要素（２５０）の異なるあるいは変化する混合を含む。計算要素（２５０）は、変化する機能を実行するために、多様な相互接続ネットワークを通して、様々な方法で適応的に接続、構成および再構成することができる。変化する内部構成および再構成に加えて、多様なマトリックス１５０は他のマトリックス１５０の各々に関して、マトリックス相互接続ネットワーク１１０を通して、より高いレベルで接続、構成および再構成することができる。このこともまた、以下により詳細に説明される。
【００２３】
いくつかの異なる、洞察的で新しい概念が、本発明のＡＣＥ１００構造内に組込まれ、ＡＣＥ１００のリアルタイム動作およびその本質的な利点のための有用な説明的基礎を提供する。
【００２４】
本発明の第１の新しい概念は、特定用途向け専用あるいは固定ハードウェア装置（計算要素２５０）の適応および再構成可能な使用、および、それぞれ対応する乗算、複合乗算および加算機能の最適な実行のために設計された複数の乗算器、複合乗算器および加算器のような、マトリックス１５０の計算装置２００（図３）内のこれらの特定用途向け専用あるいは固定ハードウェア装置（計算要素２５０）内に含むべき、加速のための特定の機能の選択に関する。ＡＣＥ１００を最適化する場合、好ましい実施例においては、消費電力を小さくするために、加速のための機能は消費電力に基づき選択される。例えば、移動通信のような任意の応用に対して、対応するＣ（Ｃ＋あるいはＣ＋＋）あるいは他のコードが消費電力のために分析されるかもしれない。このような実験的分析により、例えば、このようなコードの少ない部分、例えば１０パーセントが、実際には実行時の動作電力の９０パーセントを消費していることがわかるかもしれない。本発明によると、このような電力使用に基づき、コードのこの小さな部分がある型の再構成可能マトリックス１５０内における加速に対して選択され、残りのコードは、例えば、制御装置１２０として構成されたマトリックス１５０内で実行されるよう適合される。付加的コードもまた加速のために選択することができ、設計あるいは動作の複雑さからくる潜在的トレード・オフ次第で、ＡＣＥ１００による消費電力を最適化する結果となる。加えて、図３に関して説明するように、制御コードのような他の機能を、有限状態機械として構成された場合、マトリックス１５０内において加速することができる。
【００２５】
次に、加速のために選択されたアルゴリズムあるいは他の機能は、“データ・フロー・グラフ”（“ＤＦＧ”）と称される形式に変換される。本発明による例示的データ・フロー・グラフの概要図が、図２に示されている。図２に示されるように、ＣＤＭＡ音声符号化（（ＱＣＥＬＰ（クアルコム（Qualcomm）・コード励振線形予測））に対して有用なアルゴリズムあるいは機能が、４つの乗算器１９０と後に続く４つの加算器１９５を使用して実現されている。レベルの変化する相互接続を通して、このデータ・フロー・グラフのアルゴリズムはそれから、任意の時に、固定計算要素（２５０）の構成および再構成を通して実施される。つまり、効率のために最適化され構成されたハードウェア内において実施される。すなわち、“機械”は、特定のアルゴリズムを実行するために最適化されたリアルタイムにおいて、構成される。図２の例示的ＤＦＧについて続けると、計算要素２５０としての４つの固定あるいは専用乗算器、および、同様に異なる計算要素２５０としての４つの固定あるいは専用加算器が、特定のＤＦＧの機能あるいはアルゴリズムを実行するために相互接続を通して、リアルタイムで構成される。
【００２６】
本発明の第３のそしておそらく最も重要な概念であり、従来技術の概念および規則からの注目すべき相違点は、上記の多様な選択されたアルゴリズムを実現するために使用される再構成可能な“異質性”の概念である。上記のように、従来技術の再構成可能性は同質なＦＰＧＡに排他的に依存しており、この同質ＦＰＧＡにおいては、論理ゲートの同一のブロックが豊かなプログラマブル相互接続内において配列として繰り返され、効率が悪くしばしば経路指定および組合せ問題が起こるにもかかわらず、特定の機能を実現するために、同一のゲート間および中に接続を提供するよう相互接続が続いて構成される。まったく対照的に、本発明によると、計算装置２００内において、異なる計算要素（２５０）は、専用乗算器、複合乗算器および加算器のような対応する異なる固定（あるいは専用）特定用途向けハードウェアとして、直接実現される。相互接続（２１０および２２０）を使用して、これらの異なる異質の計算要素（２５０）は、それから、しばしば移動通信において使用される離散コサイン変換の実行のような、選択されたアルゴリズムを実行するためにリアルタイムで適応的に構成することができる。図２のデータ・フロー・グラフの例に対しては、４つの乗算器および４つの加算器が構成される、つまり、特定のアルゴリズムを実行するためにリアルタイムで接続される。その結果、本発明によると、異なる（“異質の”）計算要素（２５０）が、任意の時に、任意のアルゴリズムあるいは他の機能を最適に実行するために、構成され再構成される。加えて、繰返し機能に対しては、計算要素の任意のインスタンシエイションあるいは構成が時間にわたってとどまる、つまり、このような繰返し計算の間にわたって不変であることができる。
【００２７】
ＡＣＥ１００構造の時間的な性質にも、注目すべきである。任意の時点において、異なるレベルの相互接続（１１０、２１０、２４０および２２０）を使用して、特定の構成が、任意の機能を実行するためあるいは特定のアルゴリズムを実現するために最適化されたＡＣＥ１００内に存在することができる。他の時点において、他の機能あるいはアルゴリズムを実行するため、他の計算要素（２５０）を相互接続するためにあるいは同じ計算要素２５０を異なる方法で接続するために、構成を変更することができる。この一時的再構成可能性には２つの重要な特徴がある。第１に、アルゴリズムが、例えば新しい技術基準を実現するために、時が経つとともに変化すると、ＡＣＥ１００は、それと共に進化し新しいアルゴリズムを実現するために再構成することができる。単純な例として、相応して新しいアルゴリズムを実行するために、任意の付加的バス機能を実現するためにも使用することのできる付加的相互接続と共に、５番目の乗算器および５番目の加算器を図２のＤＦＧに組込むことができる。第２に、計算要素はある時点において任意のアルゴリズムのインスタンシエイションとして相互に接続し、他の時点において他の異なるアルゴリズムを実行するために再構成されるので、ゲート（あるいはトランジスタ）使用が最大限となり、たいていの効率的なＡＳＩＣよりもそれらの活動率に関してかなりよい性能を提供する。
【００２８】
多様な異なるアルゴリズムの実行に対する計算要素２５０のこの一時的再構成可能性は、一方で構成と再構成、他方でプログラミングあるいは再プログラマビリティの間にここで使用される概念的区別も示している。典型的なプログラマビリティは、既存の機能の群あるいは組を使用し、これらの機能の群あるいは組は、特定のアルゴリズムを実現するために、時間が経つにつれ多様な順序で呼び出すことができる。対照的に、構成可能性および再構成可能性は、ここで使用されるように、以前には使用することができなかったあるいは存在しなかった新しい機能を加えたり生成したりする付加的能力を含む。
【００２９】
次に、本発明はまた、１つの事実上連続する情報ストリームにおけるデータおよび構成（あるいは他の制御）情報の密結合（あるいは固く組合うこと）を使用する。このデータおよび構成情報の結合あるいは混合は、“シルバーウェア”・モジュールと呼ばれ、関連する別の特許出願の主題である。しかし、本発明の目的のためには、このようにデータおよび構成情報を１つの情報（あるいはビット）ストリームに結合することは、従来技術のハードウェア相互結合の（しばしば使用されない）多重、重ね型のネットワークを必要としないで、ＡＣＥ１００のリアルタイム再構成可能性を可能にするのに役立つことに留意するのみで十分である。例えば、類似するものとして、特定の第１の期間における計算要素の特定の第１の構成は、この第１の期間の間あるいはその後に対応するアルゴリズムを実行するためのハードウェアとして、同じアルゴリズムを実行することのできるソフトウェアにおけるサブルーチンを“呼び出している”のと類似のハードウェアとして見なすあるいは概念化することができる。その結果、一旦構成情報に指示されるように、計算要素の構成が起こると（つまり決まった場所にあると）、アルゴリズムにおいて使用されるデータは、シルバーウェア・モジュールの一部としてすぐに使用可能となる。同じ計算要素はそれから、第２の構成情報に指示されるように第２の期間のために再構成され、またすぐに使用可能となるデータを使用して第２の異なるアルゴリズムを実行することができる。構成された計算要素においてデータが即座に使用可能になることは、記憶アドレスを決定しアドレスされたレジスタから記憶されたデータを取出すソフトウェアの複数の個別のステップに類似する１つあるいは２つのクロック・サイクル・ハードウェアを提供する。このことは、構成された計算要素が、従来のマイクロプロセッサあるいはＤＳＰにおけるサブルーチンとして呼び出されたならば、実行のために桁違いにより多くのクロック・サイクルを必要とするかもしれないアルゴリズムを、比較的少ないクロック・サイクルで実行することができるので、さらなる付加的効率をもたらす。
【００３０】
このように、適応性があり異なるそして異質の計算装置２００およびマトリックス１５０を形成するために、複数の異質固定計算要素２５０のリアルタイム再構成可能性と共に、データおよび構成情報の混合としてのシルバーウェアを使用することにより、ＡＣＥ１００構造は複数の異なる動作モードを有することができる。例えば、ハンドヘルド装置内に含まれる場合、対応するシルバーウェア・モジュールがあれば、ＡＣＥ１００は、携帯あるいは他の移動電話、音楽プレーヤ、ポケットベル、パーソナル・デジタル・アシスタント、および他の新しいあるいは既存の機能として、多様な異なる動作モードを有することができる。加えて、これらの動作モードは、装置の物理的位置に基づき変化することができる。例えば、米国において使用するためのＣＤＭＡ移動電話として構成されている場合、ＡＣＥ１００は、ヨーロッパにおいて使用するためのＧＳＭ移動電話として再構成することができる。
【００３１】
再び図１を参照すると、制御装置１２０（有限状態機械として構成されているマトリックス（ＫＡＲＣ）１５０Ａおよびマトリックス（ＭＡＲＣ）１５０Ｂであることが望ましい）の機能は、シルバーウェア・モジュール、つまり、情報の単一のストリーム内のデータおよび構成情報の密結合に関して、複数の可能性のある動作モードに関して、再構成可能マトリックス１５０に関して、そして、図３に示される再構成可能計算装置２００および計算要素１５０に関して説明することができる。上記のように、シルバーウェア・モジュールを通して、ＡＣＥ１００は、新しい技術基準へのアップグレードあるいは移動通信装置への音楽機能の追加のようなまったく新しい機能の追加のような、新しいあるいは付加的機能を実行するために、構成あるいは再構成することができる。このようなシルバーウェア・モジュールは、メモリ１４０のマトリックス１５０内に記憶することもでき、あるいは、外部（配線されたあるいは無線の）資源から、例えばマトリックス相互接続ネットワーク１１０を通して入力することもできる。好ましい実施例において、複数のマトリックス１５０のうち１つは、安全保護目的のために、このようなモジュールを解読しその妥当性を検査するよう構成される。次に、現在あるＡＣＥ１００資源の任意の構成あるいは再構成に先立ち、制御装置１２０はマトリックス（ＫＡＲＣ）１５０Ａを通して、音楽機能の追加が既存の移動通信機能に悪影響を与えていないかどうかというような、どんな既存の機能にも悪影響を与えずに構成あるいは再構成を行うことができるかどうかを調査し検査する。好ましい実施例において、このような構成あるいは再構成に対するシステム要求は、この評価機能を実行する際にマトリックス（ＫＡＲＣ）１５０Ａによって使用されるように、シルバーウェア・モジュール内に含まれる。構成あるいは再構成をこのような悪影響を起こさずに行える場合、シルバーウェア・モジュールは、メモリ１４０のマトリックス１５０にロードされることが許可され、マトリックス（ＫＡＲＣ）１５０Ａはメモリ１４０のマトリックス１５０Ｃおよび１５０Ｄ内のＤＭＡエンジン（あるいは、従来のメモリの他の独立型ＤＭＡエンジン）を作動する。構成あるいは再構成がこのような悪影響を及ぼすあるいは及ぼす可能性がある場合、マトリックス（ＫＡＲＣ）１５０Ａは、新しいモジュールがＡＣＥ１００内に組込まれることを許可しない。
【００３２】
図１に関して説明を続けると、マトリックス（ＭＡＲＣ）１５０Ｂは、マトリックス１５０資源のスケジューリングおよび任意の対応するデータのタイミングを管理し、多様な計算要素２５０および計算装置２００の任意の構成あるいは再構成を任意の対応する入力データおよび出力データと同期化する。好ましい実施例において、タイミング情報もまたシルバーウェア・モジュール内に含まれ、多様な相互接続ネットワークを通して、マトリックス（ＭＡＲＣ）１５０Ｂが、多様な再構成された計算装置２００のどの入力においても対応するデータが現れる前に再構成が起こるように、適当な時に好ましくはちょうど間に合うように多様なマトリックス１５０の再構成を指示できるようにする。加えて、マトリックス（ＭＡＲＣ）１５０Ｂはまた、多様なマトリックス１５０のどのマトリックス内においても加速されていない、任意の残りの処理を実行することができる。その結果、マトリックス（ＭＡＲＣ）１５０Ｂは、マトリックス１５０、計算装置２００および計算要素２５０の構成および再構成をリアルタイムで、これらの多様な再構成可能ハードウェア装置によって使用される任意の対応するデータと同期に“呼び出し”、任意の残りのあるいは他の制御処理を実行する制御装置としてみなすことができる。他のマトリックス１５０もまた、この制御機能を含むことができ、任意のマトリックス１５０が、他のマトリックス１５０の構成および再構成を呼び出し制御することができる。
【００３３】
図３は、複数の計算装置２００（計算装置２００Ａから２００Ｎとして図示されている）および複数の計算要素２５０（計算要素２５０Ａから２５０Ｚとして図示されている）を有する再構成可能マトリックス１５０をより詳細に示すブロック図であり、計算要素２５０の好ましい型の付加的説明および本発明の有用な要約を提供している。図３に示されるように、どんなマトリックス１５０も、一般に、マトリックス制御装置２３０、複数の計算（あるいは計算の）装置２００、および、マトリックス相互接続ネットワーク１１０の論理あるいは概念サブセットあるいは部分として、データ相互接続ネットワーク２４０およびブール相互接続ネットワーク２１０を含む。上記のように、好ましい実施例において、ＡＣＥ１００構造内の“深さ”が増すにつれ、相互接続ネットワークは、適応性および再構成のより高いレベルに対してますます豊かになる。ブール相互接続ネットワーク２１０もまた上記のように、多様な計算装置２００間および中の再構成およびデータ相互接続能力を提供し、小さい（つまり、わずか数ビット幅である）ことが望ましい。一方、データ相互接続ネットワーク２４０は、多様な計算装置２００間および中の再構成およびデータ入出力に対する相互接続能力を提供し、比較的大きい（つまり、多数ビット幅である）ことが望ましい。しかし、再構成およびデータ能力に概念的に分けられるけれども、マトリックス相互接続ネットワーク１１０の任意の物理的部分は、任意の時間において、ブール相互接続ネットワーク２１０、データ相互接続ネットワーク２４０、最も低いレベルの相互接続２２０（多様な計算要素２５０間および中の）、あるいは他の入力、出力あるいは接続機能のいずれとしても動作することができる。
【００３４】
図３に関して説明を続けると、計算装置２００内には、計算要素２５０Ａから２５０Ｚ（個別におよび集合的に計算要素２５０と称される）として示される複数の計算要素２５０、および付加的相互接続２２０が含まれる。相互接続２２０は、多様な計算要素２５０間および中の、再構成可能相互接続能力および入力／出力経路を提供する。上記のように、各多様な計算要素２５０は、所定のタスクあるいは一定範囲のタスクを実行するために設計された専用、特定用途向けハードウェアから成り、その結果、複数の異なる固定計算要素２５０となっている。相互接続２２０を使用して、固定計算要素２５０は共に再構成可能に接続され、適応および変化した計算装置２００となることができ、この計算装置２００はまた、相互接続２２０、ブール・ネットワーク２１０、およびマトリックス相互接続ネットワーク１１０を使用して、図２のＤＦＧの４重乗算および加算のような、アルゴリズムあるいは他の機能を任意の時間に実行するために、さらに再構成および相互接続することができる。
【００３５】
好ましい実施例において、多様な計算要素２５０は、（例えば、図５Ａから図９に示されるように）多様な適応および再構成可能計算装置２００に設計されグループ化される。乗算あるいは加算のような特定のアルゴリズムあるいは機能を実行するように設計された計算要素２５０に加えて、好ましい実施例においては、他の型の計算要素２５０も使用されている。図３に示されるように、計算要素２５０Ａおよび２５０Ｂは、任意の計算あるいは処理機能のために（より“遠隔の”メモリ１４０と比較して）局部メモリ要素を提供するために、メモリを実現する。加えて、計算要素２５０Ｉ、２５０Ｊ、２５０Ｋおよび２５０Ｌは、複雑な制御処理に特に適している（より“遠隔の”マトリックス（ＭＡＲＣ）１５０Ｂと比較して）局所処理能力を提供するために、（例えば、図７、図８、図９に示されるような計算要素を使用して）有限状態機械を実現するよう構成されている。
【００３６】
多様な型の異なる計算要素２５０が、ＡＣＥ１００の望ましい機能によって使用可能となる。計算装置２００は、ゆるやかにカテゴリ化することができる。計算装置２００の第１のカテゴリは、乗算、加算、有限インパルス応答フィルタリング、その他（例えば、図５Ａから５Ｅおよび図６に関して以下に説明されるような）線形演算を実行する計算要素２５０を含む。計算装置２００の第２のカテゴリは、離散コサイン変換、三角関数計算および複合乗算のような非線形演算を実行する計算要素２５０を含む。計算装置２００の第３の型は、図３に示されるような計算装置２００Ｃのような、そして、図７から図９に関して以下により詳細に説明されるような、複雑な制御シーケンス、動的スケジューリング、および入力／出力管理に特に有用な、有限状態機械を実現する。一方、第４の型は、図３に示される計算装置２００Ａのような、メモリおよびメモリ管理を実現する。最後に、計算装置２００の第５の型は、暗号化、解読、チャネル符号化、ビタビ暗号解読、および（インターネット・プロトコル処理のような）パケットおよびプロトコル処理のような、ビット・レベル操作を実行するために含むことができる。
【００３７】
好ましい実施例において、他のマトリックスあるいはノード１５０からの制御に加えて、より大きい参照局所性およびすべての再構成工程およびすべての対応するデータ操作の制御をも提供するために、マトリックス制御装置２３０を任意のマトリックス１５０内に含むことができる。例えば、任意の計算装置２００内で一旦計算要素２５０の再構成が行われると、マトリックス制御装置２３０は、その特定のインスタンシエイション（あるいは構成）がある期間にわたってそのままであるよう、例えば所定の応用に対して繰返しデータ処理を続けるよう、指示することができる。
【００３８】
図４は、本発明による再構成可能マトリックス１５０の例示的あるいは代表的な計算装置２００をより詳細に示している。図４に示されるように、計算装置２００は通常、複数のメモリ計算要素２５０Ａおよび２５０Ｂ、および、計算装置（“ＣＵ”）コア２６０を形成する複数のアルゴリズムのあるいは有限状態機械計算要素２５０Ｃから２５０Ｋのような、複数の多様で異質なそして固定された計算要素２５０を含む。上記のように、複数の多様な計算要素２５０の各計算要素２５０は、加算あるいは乗算のような特定の機能あるいはアルゴリズムを実行するための対応する論理ゲート・レイアウトを有し、そのために設計された固定あるいは専用特定用途向け回路である。加えて、多様なメモリ計算要素２５０Ａおよび２５０Ｂは、ＲＡＭ（かなりの深度を有する）あるいは、１あるいは２ビットの深度を有するレジスタとして、多様なビット深度で実現することができる。
【００３９】
概念的データおよびブール相互接続ネットワーク２４０および２１０をそれぞれ形成しながら、例示的計算装置２００はまた、複数の入力マルチプレクサ２８０、複数の入力線（あるいは電線）２８１、およびＣＵコア２６０の出力（回線あるいは電線２７０として図示されている）のために、複数の出力デマルチプレクサ２８５および２９０、および複数の出力線（あるいは電線）２９１も含む。入力マルチプレクサ２８０を通して、適当な入力線２８１を、データ変換におけるそして構成および相互接続処理における入力使用のために選択することができ、出力デマルチプレクサ２８５および２９０を通して、出力あるいは多重出力を、付加的データ伝送、および構成および相互接続処理において使用するために、選択された出力線２９１上に置くことができる。
【００４０】
好ましい実施例において、多様な入力および出力線２８１および２９１の選択、および相互接続（２１０、２２０および２４０）を通した多様な接続の生成は、以下に説明するように、計算装置制御装置２５５からの制御ビット２６５の制御の下にある。これらの制御ビット２６５に基づき、多様な、入力イネーブル２５１、入力選択２５２、出力選択２５３、ＭＵＸ選択２５４、ＤＥＭＵＸイネーブル２５６、ＤＥＭＵＸ選択２５７、およびＤＥＭＵＸ出力選択２５８のいずれかを活動化あるいは非活動化することができる。
【００４１】
例示的計算装置２００は、各計算要素２５０、相互接続（２１０、２２０および２４０）、および他の要素（上記）がクロック・サイクル毎に行うことに対して、制御ビット２６５を通して制御を行う計算装置制御装置２５５を含む。個別に示されてはいないが、相互接続（２１０、２２０および２４０）を通して、多様な制御ビット２６５は必要に応じて、多様な入力イネーブル２５１、入力選択２５２、出力選択２５３、ＭＵＸ選択２５４、ＤＥＭＵＸイネーブル２５６、ＤＥＭＵＸ選択２５７、およびＤＥＭＵＸ出力選択２５８のような、計算装置２００の多様な部分に分配される。ＣＵ制御装置２９５はまた、制御（あるいは構成）情報の受信および状態情報の伝送のために、１つ以上の回線２９５を含む。
【００４２】
上記のように、相互接続は、上記のように異なるビット幅の、データ相互接続ネットワーク２４０とブール相互接続ネットワーク２１０に概念的に分けることができる。一般に、（より幅の広い）データ相互接続ネットワーク２４０は、対応するデータ経路指定および構成情報のために、構成可能および再構成可能な接続を生成するために使用される。（より幅の狭い）ブール相互接続ネットワーク２１０は、構成可能および再構成可能接続を生成するためにも使用されるが、多様なデータ・フロー・グラフにおいて決定ノードを生成して、このようなＤＦＧの論理（あるいはブール）決定の制御のために使用され、また、このようなＤＦＧ内のデータ経路指定のために使用することもできる。
【００４３】
図５Ａから図５Ｅは、本発明による、計算装置を形成している、例示的固定および特定計算要素を詳細に示すブロック図である。これらの図面より明らかなように、同じ固定計算要素の多くが、異なるアルゴリズムを実行するために、変化する構成と共に使用されている。
【００４４】
図５Ａは、４点非対称有限インパルス応答（ＦＩＲ）フィルタ計算装置３００を示すブロック図である。図示されるように、この例示的計算装置３００は、係数メモリ３０５、データ・メモリ３１０、レジスタ３１５、３２０および３２５、乗算器３３０、加算器３３５、および累算器レジスタ３４０、３４５、３５０および３５５を含む複数の固定計算要素の特定の第１の構成を含み、マルチプレクサ（ＭＵＸ）３６０および３６５は相互接続ネットワーク（２１０、２２０および２４０）の一部を形成している。
【００４５】
図５Ｂは、２点対称有限インパルス応答（ＦＩＲ）フィルタ計算装置３７０を示すブロック図である。図示されるように、この例示的計算装置３７０は、係数メモリ３０５、データ・メモリ３１０、レジスタ３１５、３２０および３２５、乗算器３３０、加算器３３５、第２の加算器３７５、および累算器レジスタ３４０および３４５を含む複数の固定計算要素の第２の構成を含み、マルチプレクサ（ＭＵＸ）３６０および３６５は相互接続ネットワーク（２１０、２２０および２４０）の一部を形成している。
【００４６】
図５Ｃは、高速フーリエ変換（ＦＦＴ）計算装置４００のための副装置を示すブロック図である。図示されるように、この例示的計算装置４００は、係数メモリ３０５、データ・メモリ３１０、レジスタ３１５、３２０、３２５および３８５、乗算器３３０、加算器３３５、および加算／減算器３８０を含む複数の固定計算要素の第３の構成を含み、マルチプレクサ（ＭＵＸ）３６０、３６５、３９０、３９５および４０５は相互接続ネットワーク（２１０、２２０および２４０）の一部を形成している。
【００４７】
図５Ｄは、複合有限インパルス応答（ＦＩＲ）フィルタ計算装置４４０を示すブロック図である。図示されるように、この例示的計算装置４４０は、メモリ４１０、レジスタ３１５および３２０、乗算器３３０、加算／減算器３８０、および、実数および虚数累算器レジスタ４１５および４２０を含む複数の固定計算要素の第４の構成を含み、マルチプレクサ（ＭＵＸ）３６０および３６５は相互接続ネットワーク（２１０、２２０および２４０）の一部を形成している。
【００４８】
図５Ｅは、対応するデータ・フロー・グラフ４６０を有する、４乗有限インパルス応答（ＩＩＲ）フィルタ計算装置４５０を示すブロック図である。図示されるように、この例示的計算装置４５０は、係数メモリ３０５、入力メモリ４９０、レジスタ４７０、４７５、４８０および４８５、乗算器３３０、および加算器３３５を含む複数の固定計算要素の第５の構成を含み、マルチプレクサ（ＭＵＸ）３６０、３６５、３９０および３９５は相互接続ネットワーク（２１０、２２０および２４０）の一部を形成している。
【００４９】
図６は、本発明による、複数の異なる固定計算要素を有する、好ましい多機能適応計算装置５００を詳細に示すブロック図である。適宜に構成されると、適応計算装置５００は、図５Ａから図５Ｅに関して既に説明した各多様な機能、および、離散コサイン変換のような他の機能を実行する。図示されるように、この多機能適応計算装置５００は、入力メモリ５２０、データ・メモリ５２５、レジスタ５３０、（レジスタ５３０Ａから５３０Ｑとして図示されている）、乗算器５４０（乗算器５４０Ａから５４０Ｄとして図示されている）、加算器５４５、第１の論理演算装置（ＡＬＵ）５５０（ＡＬＵ−１５５０Ａから５５０Ｄとして図示されている）、第２の論理演算装置（ＡＬＵ）５５５（ＡＬＵ−２５５５Ａから５５５Ｄとして図示されている）、および、パイプライン（長さ１）レジスタ５６０を含む複数の固定計算要素の複数の構成のための能力を含み、入力５０５、回線５１５、出力５７０およびマルチプレクサ（ＭＵＸあるいはＭＸ）５１０（ＭＵＸおよびＭＸ５１０Ａから５１０ＫＫとして図示されている）は相互接続ネットワーク（２１０、２２０および２４０）を形成している。２つの異なるＡＬＵ５５０および５５５は、例えば、離散コサイン変換における基数２演算に特に有用な並列加算および減算演算に使用されることが望ましい。
【００５０】
図７は、本発明による、複数の固定計算要素を有する好ましい適応論理プロセッサ（ＡＬＰ）計算装置６００を詳細に示すブロック図である。ＡＬＰ６００は、高度に適応性があり、入力／出力構成、有限状態機械実現、汎用フィールド・プログラマビリティ、およびビット操作のために使用されることが望ましい。ＡＬＰ６００の固定計算要素は、図９に個別に示されるように、複数の適応コア・セル（ＣＣ）６１０（図８）の各々の一部分（６５０）である。相互接続ネットワーク（２１０、２２０および２４０）は、複数の垂直入力（ＶＩ）６１５、垂直中継器（ＶＲ）６２０、垂直出力（ＶＯ）６２５、水平中継器（ＨＲ）６３０、水平ターミネータ（ＨＴ）６３５、および水平制御装置（ＨＣ）６４０の多様な組合せおよび順列から形成される。
【００５１】
図８は、本発明による、固定計算要素６５０を有する適応論理プロセッサ計算装置６００の好ましいコア・セル６１０をより詳細に示すブロック図である。固定計算要素は、図９に個別に示される３入力−２出力機能生成器５５０である。好ましいコア・セル６１０はまた、制御論理６５５、制御入力６６５、制御出力６７０（出力相互接続を提供する）、出力６７５、および入力（相互接続マルチプレクサを有する）６６０（入力相互接続を提供する）を含む。
【００５２】
図９は、本発明による、適応論理プロセッサ計算装置６００のコア・セル６１０の好ましい固定計算要素６５０をより詳細に示すブロック図である。固定計算要素６５０は、複数の排他的ＮＯＲ（ＸＮＯＲ）ゲート６８０、ＮＯＲゲート６８５、ＮＡＮＤゲート６９０、および排他的ＯＲ（ＸＯＲ）ゲート６９５の固定レイアウトから成り、３つの入力７２０と２つの出力７１０を有する。構成および相互接続は、ＭＵＸ７０５および相互接続入力７３０を通して提供される。
【００５３】
上記の説明から明らかなように、異質計算装置（２００）を形成するために構成および再構成することができ、異質マトリックス１５０を形成するために、変化するレベルの相互接続（１１０、２１０、２４０および２２０）を通してさらに構成および再構成することができる複数の固定異質計算要素（２５０）を、このように使用することにより、まったく新しい種類あるいはカテゴリの集積回路が生成され、これは適応計算構造と呼ぶことができる。本発明の適応計算構造は、ＦＰＧＡ、ＡＳＩＣあるいはプロセッサの題目あるいはカテゴリの中では、概念的あるいは専門語的観点から適切に特徴付けることができないことに留意されたい。例えば、適応計算機能の非ＦＰＧＡ的性質は、適応計算構造が、同一の論理装置の配列あるいは、より簡便にいえば、どんな種類の反復配列も含まないので、直ちに明らかである。また、例えば、適応計算構造の非ＡＳＩＣ的性質は、適応計算構造が特定用途向けではなく複数の機能モードを提供し、リアルタイムで再構成可能であるので、直ぐに明らかである。さらに例を挙げると、適応計算構造の非プロセッサ的性質は、適応計算構造は、データ操作が副産物として発生する命令の実行に焦点を当てるのではなく、直接データ上で動作するよう構成されるので、直ちに明らかである。
【００５４】
本発明の他の利点は、この分野の技術者にはさらに明らかであろう。移動通信に対しては、例えば、１つあるいは２つのアルゴリズム要素のためのハードウェア加速は通常、多くの（通常６４以上）のチャネルを扱う基盤的基地局に制限されていた。加速は、複数のチャネルにわたり、チャネル毎の性能がよくなり電力が節約され、その結果かなり性能がよくなり電力が節約されるので、費用が正当であるとされるであろう。このような複数チャネル性能および電力節約は、単一の動作チャネル移動端末（あるいは移動装置）において従来技術のハードウェア加速を使用しては実現されない。しかし対照的に、本発明を使用すると、同じＩＣ領域が複数のアルゴリズム・タスクを加速するために構成および再構成され、各次のアルゴリズム要素のために新しいハードウェア加速器を効果的に生成あるいは実現させるので、費用の正当化が容易に可能であり、性能がよくなり電力が節約される。
【００５５】
さらに、本発明の付加的利点は、この分野の技術者にはさらに明らかであろう。本発明のＡＣＥ１００構造は、プロセッサＡＳＩＣおよびＦＰＧＡの多様な利点を効果的かつ効率的に組合せ最大限にする一方、可能性のある不利益を最小にする。ＡＣＥ１００は、プロセッサのプログラミング柔軟性、ＦＰＧＡの製造後の柔軟性、および、ＡＳＩＣの高速および高使用率を含む。ＡＣＥ１００は、リアルタイムで容易に再構成可能であり、対応する複数の動作モードを持つことができる。加えて、再構成可能な加速のための特定の機能を選択することにより、ＡＣＥ１００は消費電力を最小にし、ハンドヘルドおよび他の電池で作動する装置において使用されるような小電力応用に適している。
【００５６】
以上のことから、本発明の新しい概念の精神および範囲から逸脱することなく、多くの変更および修正を行うことができることが理解されるであろう。ここに説明される特定の方法および装置に関して何の制限も意図されておらず、推定されるべきものでもないことを理解されたい。もちろん、付随する請求項は、請求項の範囲内のすべてのこのような修正を含むよう意図するものである。
【図面の簡単な説明】
【００５７】
【図１】本発明による装置の好ましい実施例を示すブロック図である。
【図２】本発明による例示的データ・フロー・グラフを示す概要図である。
【図３】本発明による、再構成可能マトリックス、複数の計算装置、および複数の計算要素を示すブロック図である。
【図４】本発明による再構成可能マトリックスの計算装置をより詳細に示すブロック図である。
【図５Ａ】本発明による計算装置を形成する固定特定計算要素の一例を詳細に示すブロック図である。
【図５Ｂ】本発明による計算装置を形成する固定特定計算要素の一例を詳細に示すブロック図である。
【図５Ｃ】本発明による計算装置を形成する固定特定計算要素の一例を詳細に示すブロック図である。
【図５Ｄ】本発明による計算装置を形成する固定特定計算要素の一例を詳細に示すブロック図である。
【図５Ｅ】本発明による計算装置を形成する固定特定計算要素の一例を詳細に示すブロック図である。
【図６】本発明による、複数の異なる固定計算要素を有する多機能適応計算装置の好ましい実施例を詳細に示すブロック図である。
【図６Ａ】図６のブロック図の一部詳細図である。
【図６Ｂ】同じく、図６のブロック図の一部詳細図である。
【図６Ｃ】同じく、図６のブロック図の別の一部詳細図である。
【図６Ｄ】同じく、図６のブロック図のさらに別の一部詳細図である。
【図７】本発明による、複数の固定計算要素を有する適応論理プロセッサ計算装置の好ましい実施例を詳細に示すブロック図である。
【図８】本発明による、１つの固定計算要素を有する適応論理プロセッサ計算装置のコア・セルの好ましい実施例をより詳細に示すブロック図である。
【図９】本発明による、適応論理プロセッサ計算装置のコア・セルの固定計算要素の好ましい実施例をより詳細に示すブロック図である。
【図１】
2005508532.tif 000003
【図２】
2005508532.tif 000004
【図３】
2005508532.tif 000005
【図４】
2005508532.tif 000006
【図５Ａ】
2005508532.tif 000007
【図５Ｂ】
2005508532.tif 000008
【図５Ｃ】
2005508532.tif 000009
【図５Ｄ】
2005508532.tif 000010
【図５Ｅ】
2005508532.tif 000011
【図６】
2005508532.tif 000012
【図６Ａ】
2005508532.tif 000013
【図６Ｂ】
2005508532.tif 000014
【図６Ｃ】
2005508532.tif 000015
【図６Ｄ】
2005508532.tif 000016
【図７】
2005508532.tif 000017
【図８】
2005508532.tif 000018
【図９】
2005508532.tif 000019
【国際公開パンフレット】
2005508532.tif 000020
2005508532.tif 000021
2005508532.tif 000022
2005508532.tif 000023
2005508532.tif 000024
2005508532.tif 000025
2005508532.tif 000026
2005508532.tif 000027
2005508532.tif 000028
2005508532.tif 000029
2005508532.tif 000030
2005508532.tif 000031
2005508532.tif 000032
2005508532.tif 000033
2005508532.tif 000034
2005508532.tif 000035
2005508532.tif 000036
2005508532.tif 000037
2005508532.tif 000038
2005508532.tif 000039
2005508532.tif 000040
2005508532.tif 000041
2005508532.tif 000042
2005508532.tif 000043
2005508532.tif 000044
2005508532.tif 000045
2005508532.tif 000046
2005508532.tif 000047
2005508532.tif 000048
2005508532.tif 000049
2005508532.tif 000050
2005508532.tif 000051
2005508532.tif 000052
2005508532.tif 000053
2005508532.tif 000054
2005508532.tif 000055
2005508532.tif 000056
2005508532.tif 000057
2005508532.tif 000058
2005508532.tif 000059
2005508532.tif 000060
2005508532.tif 000061
2005508532.tif 000062
2005508532.tif 000063
2005508532.tif 000064
2005508532.tif 000065
2005508532.tif 000066
2005508532.tif 000067
2005508532.tif 000068
2005508532.tif 000069
2005508532.tif 000070
2005508532.tif 000071
2005508532.tif 000072
2005508532.tif 000073
2005508532.tif 000074
2005508532.tif 000075
2005508532.tif 000076
【国際公開パンフレット（コレクトバージョン）】
2005508532.tif 000077
2005508532.tif 000078
【国際調査報告】
2005508532.tif 000079
2005508532.tif 000080
2005508532.tif 000081