(57)【要約】  本発明は、相互接続ネットワーク（５１０）に結合された複数の異質性計算要素を含む適応コンピューティング・エンジン集積回路（５００）に関する。メモリ（５３０）、加算（５４５）、乗算（５４０）、複素乗算、減算、構成、制御、入力、出力、およびフィールド・プログラミング性のための固定アーキテクチャなどの固定の異なるアーキテクチャを有する要素。構成情報に応答して、相互接続ネットワーク（５１０）は、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン動作、メモリ動作、およびビット・レベル操作を含む複数の異なる機能モードのために複数の異質性計算要素をリアルタイムで構成し、再構成するように動作する。
2005512368.tif 000002
【特許請求の範囲】
【請求項１】
適応回路を構成し、動作させるためのシステムであって、
第１の構成情報および第２の構成情報を有し、第１のオペランド・データおよび第２のオペランド・データをさらに有する第１の実行可能情報モジュールと、
第１の計算要素が第１の固定アーキテクチャを有し、第２の計算要素が第２の固定アーキテクチャを有し、前記第１の固定アーキテクチャが前記第２の固定アーキテクチャとは異なる複数の異質性計算要素と、
前記複数の異質性計算要素に結合され、前記第１の構成情報に応答して複数の機能モードの第１の機能モードのために前記複数の異質性計算要素を構成し、前記複数の異質性計算要素に前記第１のオペランド・データを提供することができ、前記第２の構成情報に応答して前記複数の機能モードの第２の機能モードのために前記複数の異質性計算要素を構成し、前記複数の異質性計算要素に前記第２のオペランド・データを提供することがさらにでき、第１の機能モードは第２の機能モードとは異なる相互接続ネットワークとを含むシステム。
【請求項２】
前記第１の実行可能情報モジュールが、第１のシステム動作モードを提供する請求項１に記載のシステム。
【請求項３】
第２のシステム動作モードを提供する第２の実行可能情報モジュールをさらに含む請求項２に記載のシステム。
【請求項４】
（一回、補正済み）前記複数の異質性計算要素および前記相互接続ネットワークに結合され、前記第１の構成情報および前記第２の構成情報を記憶することができるメモリをさらに含む請求項１に記載のシステム。
【請求項５】
前記第１の構成情報および前記第２の構成情報が、メモリ機能モードのために構成された第２の複数の異質性計算要素の中に記憶される請求項１に記載のシステム。
【請求項６】
前記第１の構成情報および前記第２の構成情報が、前記複数の異質性計算要素の構成として記憶される請求項１に記載のシステム。
【請求項７】
前記第１の実行可能情報モジュールが、マシン可読媒体の中に記憶される請求項１に記載のシステム。
【請求項８】
前記第１の実行可能情報モジュールが、無線インターフェースを介して伝送される請求項１に記載のシステム。
【請求項９】
前記第１の実行可能情報モジュールが、有線インターフェースを介して伝送される請求項１に記載のシステム。
【請求項１０】
前記第１の実行可能情報モジュールが、複数の別々の情報データ・パケットとして実現される請求項１に記載のシステム。
【請求項１１】
前記第１の実行可能情報モジュールが、情報データ・ビットのストリームとして実現される請求項１に記載のシステム。
【請求項１２】
前記第１の固定アーキテクチャおよび前記第２の固定アーキテクチャが、複数の特定のアーキテクチャから選択され、前記複数の特定のアーキテクチャが、次の対応する機能、すなわち、メモリ、加算、乗算、複素乗算、減算、構成、再構成、ルーティング、制御、入力、出力、およびフィールド・プログラミング性の少なくとも２つを含む請求項１に記載のシステム。
【請求項１３】
前記複数の機能モードが、次の機能モード、すなわち、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン動作、コントローラ動作、メモリ動作、およびビット・レベル操作の少なくとも２つを含む請求項１に記載のシステム。
【請求項１４】
前記複数の異質性計算要素および前記相互接続ネットワークに結合され、前記第１の機能モードのための前記複数の異質性計算要素の構成を前記第１のオペランド・データと協調させ、前記第２の機能モードのための前記複数の異質性計算要素の再構成を前記第２のオペランド・データとさらに協調させることができるコントローラをさらに含む請求項１に記載のシステム。
【請求項１５】
前記相互接続ネットワークに結合され、コントローラ動作モードのために構成された第２の複数の異質性計算要素をさらに含み、前記第２の複数の異質性計算要素が、前記第１の機能モードのための前記複数の異質性計算要素の構成を前記第１のオペランド・データと協調させることができ、前記第２の機能モードのための前記複数の異質性計算要素の再構成を前記第２のオペランド・データとさらに協調させることができる請求項１に記載のシステム。
【請求項１６】
次のモード、すなわち、モバイル遠隔通信モード、パーソナル・デジタル・アシスタント・モード、マルチメディア受信モード、モバイル・パケット・ベース通信モード、およびページング・モードの少なくとも２つを含む複数の動作モードを有するモバイル局内部で実施される請求項１に記載のシステム。
【請求項１７】
複数の動作モードを有するサーバ内部で実施される請求項１に記載のシステム。
【請求項１８】
複数の動作モードを有する付属ネットワーク・エンティティ内部で実施される請求項１に記載のシステム。
【請求項１９】
前記複数の異質性計算要素が、第２のシステム動作モードを提供する第２の実行可能情報モジュールの要求を提供するように構成される請求項１に記載のシステム。
【請求項２０】
集積回路内部で実施される請求項１に記載のシステム。
【請求項２１】
前記第１の実行可能情報モジュールが、
前記相互接続ネットワーク内で前記第１の構成情報のルーティングを提供するように前記第１の構成情報に結合された第１のルーティング・シーケンスと、
前記相互接続ネットワーク内で前記第２の構成情報のルーティングを提供するように前記第２の構成情報に結合された第２のルーティング・シーケンスとを含む請求項１に記載のシステム。
【請求項２２】
前記第１の実行可能情報モジュールが、前記複数の異質性計算要素の選択された異質性計算要素にクロック信号を提供しないように前記相互接続ネットワークに指示する電力制御シーケンスをさらに含む請求項１に記載のシステム。
【請求項２３】
前記第１の実行可能情報モジュールが、前記複数の異質性計算要素の選択された構成の時間的継続を指示する反復制御シーケンスをさらに含む請求項１に記載のシステム。
【請求項２４】
前記第１の構成情報が、以前に記憶済みの構成シーケンスに対するリファレンスである請求項１に記載のシステム。
【請求項２５】
前記複数の異質性計算要素の第２の部分が、前記第２の機能モードのために構成されている最中に、前記複数の異質性計算要素の第１の部分が、前記第１の機能モードで動作している請求項１に記載のシステム。
【請求項２６】
適応的で再構成可能な集積回路を動作させるためのシステムであって、
第１の選択された機能の実行のための第１の計算ユニットを形成するように複数の異質性計算要素を構成する第１の構成シーケンスを提供するための手段と、
第２の選択された機能の実行のための第２の計算ユニットを形成するように前記複数の異質性計算要素を構成する第２の構成シーケンスを提供するための手段と、
前記第１の構成シーケンスおよび前記第２の構成シーケンスを自己ルーティングするための手段と、
前記第１の選択された機能の実行のために前記第１の計算ユニットに第１のオペランド・データを提供するための手段と、
前記第２の選択された機能の実行のために前記第２の計算ユニットに第２のオペランド・データを提供するための手段とを含むシステム。
【請求項２７】
前記第１の選択された機能の実行において利用される前記第１のオペランド・データの受領に先行するように前記複数の異質性計算要素の前記構成のタイミングを調整するための手段をさらに含む請求項２６に記載のシステム。
【請求項２８】
前記第１の選択された機能の実行の繰り返しのために前記複数の異質性計算要素の前記構成を保持するための手段をさらに含む請求項２６に記載のシステム。
【請求項２９】
受信されたデータ・ストリームの中に構成リファレンスを挿入するための手段をさらに含む請求項２６に記載のシステム。
【請求項３０】
受信されたデータ・ストリームの中に電力制御リファレンスを挿入するための手段をさらに含む請求項２６に記載のシステム。
【請求項３１】
対応する複数の固定の異なるアーキテクチャを有する複数の計算要素を含み、複数の動作モードのために前記複数の計算要素を構成するように応答する相互接続ネットワークをさらに含む適応システムを動作させるための実行可能情報モジュールであって、
複数の情報シーケンスを含み、前記複数の情報シーケンスの第１の情報シーケンスが、前記複数の計算要素の第１の構成を指示する第１の構成シーケンスを提供し、前記複数の情報シーケンスの第２の情報シーケンスが、前記複数の計算要素の前記第１の構成にオペランド・データを提供するモジュール。
【請求項３２】
前記第１の情報シーケンスおよび前記第２の情報シーケンスに関するルーティング情報を提供する前記複数の情報シーケンスの第３の情報シーケンスをさらに含む請求項３１に記載のモジュール。
【請求項３３】
前記第１の情報シーケンスが、構成仕様である請求項３１に記載のモジュール。
【請求項３４】
前記第１の情報シーケンスが、記憶済み構成仕様に対するリファレンスである請求項３１に記載のモジュール。
【請求項３５】
前記第１の情報シーケンスおよび前記第２の情報シーケンスが、個別のパケットの形態を有する請求項３１に記載のモジュール。
【請求項３６】
前記第１の情報シーケンスおよび前記第２の情報シーケンスが、連続ストリームの形態を有する請求項３１に記載のモジュール。
【請求項３７】
選択された計算要素に関する電力制御を提供する前記複数の情報シーケンスの第４の情報シーケンスをさらに含む請求項３１に記載のモジュール。
【請求項３８】
計算要素の構成に関する実例の持続期間の制御を提供する前記複数の情報シーケンスの第５の情報シーケンスをさらに含む請求項３１に記載のモジュール。
【請求項３９】
計算要素の構成に関するセキュリティ制御を提供する前記複数の情報シーケンスの第６の情報シーケンスをさらに含む請求項３１に記載のモジュール。
【請求項４０】
適応的な構成および動作のための方法であって、
第１の構成情報および第２の構成情報を有し、第１のオペランド・データおよび第２のオペランド・データをさらに有する第１の実行可能情報モジュールを受け取る工程と、
前記第１の構成情報に応答して、複数の機能モードの第１の機能モードのために複数の異質性計算要素を相互接続ネットワークを介して構成し、前記複数の異質性計算要素に前記第１のオペランド・データを提供し、前記複数の異質性計算要素の第１の計算要素が、第１の固定アーキテクチャを有し、前記複数の異質性計算要素の第２の計算要素が、第２の固定アーキテクチャを有し、前記第１の固定アーキテクチャが前記第２の固定アーキテクチャとは異なる工程と、
前記第２の構成情報に応答して、前記複数の機能モードの第２の機能モードのために前記複数の異質性計算要素を前記相互接続ネットワークを介して構成し、前記複数の異質性計算要素に前記第２のオペランド・データを提供し、前記第１の機能モードが、前記第２の機能モードとは異なる工程とを含む方法。
【請求項４１】
前記第１の実行可能情報モジュールが、第１の動作モードを提供する請求項４０に記載の方法。
【請求項４２】
第２の動作モードを提供する第２の実行可能情報モジュールを受け取る工程をさらに含む請求項４１に記載の方法。
【請求項４３】
前記第２の機能モードのために前記複数の異質性計算要素を構成している最中に前記複数の異質性計算要素の第１の部分を前記第１の機能モードで動作させる工程をさらに含む請求項４０に記載の方法。
【請求項４４】
前記第１の実行可能情報モジュールをメモリの中に記憶する工程をさらに含む請求項４０に記載の方法。
【請求項４５】
前記第１の実行可能情報モジュールをメモリ機能モードのために構成された第２の複数の異質性計算要素の中に記憶する工程をさらに含む請求項４０に記載の方法。
【請求項４６】
前記第１の構成情報を前記複数の異質性計算要素の構成として記憶する工程をさらに含む請求項４０に記載の方法。
【請求項４７】
前記第１の実行可能情報モジュールをマシン可読媒体の中に記憶する工程をさらに含む請求項４０に記載の方法。
【請求項４８】
前記第１の実行可能情報モジュールが無線インターフェースを介して受信される請求項４０に記載の方法。
【請求項４９】
前記第１の実行可能情報モジュールが有線インターフェースを介して受信される請求項４０に記載の方法。
【請求項５０】
前記第１の実行可能情報モジュールが、複数の個別の情報データ・パケットとして実現される請求項４０に記載の方法。
【請求項５１】
前記第１の実行可能情報モジュールが、情報データ・ビットのストリームとして実現される請求項４０に記載の方法。
【請求項５２】
前記第１の固定アーキテクチャおよび前記第２の固定アーキテクチャが、複数の特定のアーキテクチャから選択され、前記複数の特定のアーキテクチャが、次の対応する機能、すなわち、メモリ、加算、乗算、複素乗算、減算、構成、再構成、制御、入力、出力、ルーティング、およびフィールド・プログラミング性の少なくとも２つを含む請求項４０に記載の方法。
【請求項５３】
前記複数の機能モードが、次の機能モード、すなわち、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン動作、コントローラ動作、メモリ動作、およびビット・レベル操作の少なくとも２つを含む請求項４０に記載の方法。
【請求項５４】
前記第１の機能モードに関する前記複数の異質性計算要素の前記構成を前記第１のオペランド・データと強調させ、前記第２の機能モードに関する前記複数の異質性計算要素の前記構成を前記第２のオペランド・データと強調させる工程をさらに含む請求項４０に記載の方法。
【請求項５５】
複数の動作モードを有するモバイル局内部で機能し、前記複数の動作モードが、次のモード、すなわち、モバイル遠隔通信モード、パーソナル・デジタル・アシスタント・モード、マルチメディア受信モード、モバイル・パケット・ベース通信モード、およびページング・モードの少なくとも２つを含む請求項４０に記載の方法。
【請求項５６】
複数の動作モードを有するサーバ内部で機能する請求項４０に記載の方法。
【請求項５７】
複数の動作モードを有する付属ネットワーク・エンティティ内部で機能する請求項４０に記載の方法。
【請求項５８】
第２の動作モードを提供する第２の実行可能情報モジュールの要求を生成するように前記複数の異質性計算要素を構成する工程をさらに含む請求項４０に記載の方法。
【請求項５９】
集積回路内部で機能する請求項４０に記載の方法。
【請求項６０】
前記第１の実行可能情報モジュールが、
前記相互接続ネットワーク内部で前記第１の構成情報のルーティングを提供するように前記第１の構成情報に結合された第１のルーティング・シーケンスと、
前記相互接続ネットワーク内部で前記第２の構成情報のルーティングを提供するように前記第２の構成情報に結合された第２のルーティング・シーケンスとをさらに含む請求項４０に記載の方法。
【請求項６１】
前記第１の実行可能情報モジュールが、前記複数の異質性計算要素の選択された異質性計算要素にクロック信号を提供しないように前記相互接続ネットワークに指示する電力制御シーケンスをさらに含む請求項４０に記載の方法。
【請求項６２】
前記第１の実行可能情報モジュールが、前記複数の異質性計算要素の選択された構成の時間的継続を指示する反復制御シーケンスをさらに含む請求項４０に記載の方法。
【請求項６３】
前記第１の構成情報が、以前に記憶済みの構成シーケンスに対するリファレンスである請求項４０に記載の方法。
【請求項６４】
適応的構成のための方法であって、
第１の構成情報および第２の構成情報を有し、第１のオペランド・データおよび第２のオペランド・データをさらに有する第１の実行可能情報モジュールを伝送する工程を含み、第１の実行可能情報モジュールが受け取られた際、複数の異質性計算要素に結合された相互接続ネットワークが、前記第１の構成情報に応答して複数の機能モードの第１の機能モードのために前記複数の異質性計算要素を構成し、前記複数の異質性計算要素に前記第１のオペランド・データを提供することができ、前記相互接続ネットワークが、前記第２の構成情報に応答して前記複数の機能モードの第２の機能モードのために前記複数の異質性計算要素を構成し、前記複数の異質性計算要素に前記第２のオペランド・データを提供することがさらにでき、前記第１の機能モードが前記第２の機能モードとは異なり、前記複数の異質性計算要素が、第１の固定アーキテクチャを有する第１の計算要素、および第２の固定アーキテクチャを有する第２の計算要素を含み、前記第１の固定アーキテクチャが前記第２の固定アーキテクチャとは異なる方法。
【請求項６５】
前記第１の実行可能情報モジュールが、第１の動作モードを提供する請求項６４に記載の方法。
【請求項６６】
第２の動作モードを提供する第２の実行可能情報モジュールを伝送する工程をさらに含む請求項６０に記載の方法。
【請求項６７】
メモリ内の前記第１の実行可能情報モジュールにアクセスする工程をさらに含む請求項６４に記載の方法。
【請求項６８】
メモリ機能モードのために構成された第２の複数の異質性計算要素内の前記第１の実行可能情報モジュールにアクセスする工程をさらに含む請求項６４に記載の方法。
【請求項６９】
マシン可読媒体内の前記第１の実行可能情報モジュールにアクセスする工程をさらに含む請求項６４に記載の方法。
【請求項７０】
前記第１の実行可能情報モジュールが、無線インターフェースを介して伝送される請求項６４に記載の方法。
【請求項７１】
前記第１の実行可能情報モジュールが、有線インターフェースを介して伝送される請求項６４に記載の方法。
【請求項７２】
前記第１の実行可能情報モジュールが、複数の個別の情報データ・パケットとして実現される請求項６４に記載の方法。
【請求項７３】
前記第１の実行可能情報モジュールが、情報データ・ビットのストリームとして実現される請求項６４に記載の方法。
【請求項７４】
前記第１の固定アーキテクチャおよび前記第２の固定アーキテクチャが、複数の特定のアーキテクチャから選択され、前記複数の特定のアーキテクチャが、次の機能、すなわち、メモリ、加算、乗算、複素乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラミング性の少なくとも２つを含む請求項６４に記載の方法。
【請求項７５】
前記複数の機能モードが、次の機能モード、すなわち、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン動作、メモリ動作、およびビット・レベル操作の少なくとも２つを含む請求項６４に記載の方法。
【請求項７６】
複数の動作モードを有する基地局内部で機能する請求項６４に記載の方法。
【請求項７７】
複数の動作モードを有するサーバ内部で機能する請求項６４に記載の方法。
【請求項７８】
複数の動作モードを有する付属ネットワーク・エンティティ内部で機能する請求項６４に記載の方法。
【請求項７９】
集積回路内部で機能する請求項６４に記載の方法。
【請求項８０】
ローカル・エリア・ネットワーク内部で機能する請求項６４に記載の方法。
【請求項８１】
ワイド・エリア・ネットワーク内部で機能する請求項６４に記載の方法。
【請求項８２】
有線送信機内部で機能する請求項６４に記載の方法。
【請求項８３】
第２の動作モードを提供する第２の実行可能情報モジュールの伝送の要求を受信する工程をさらに含む請求項６４に記載の方法。
【請求項８４】
前記第１の実行可能情報モジュールが、
前記相互接続ネットワーク内で前記第１の構成情報のルーティングを提供するように前記第１の構成情報に結合された第１のルーティング・シーケンスと、
前記相互接続ネットワーク内で前記第２の構成情報のルーティングを提供するように前記第２の構成情報に結合された第２のルーティング・シーケンスとを含む請求項６４に記載の方法。
【請求項８５】
前記第１の実行可能情報モジュールが、前記複数の異質性計算要素の選択された異質性計算要素にクロック信号を提供しないように前記相互接続ネットワークに指示する電力制御シーケンスをさらに含む請求項６４に記載の方法。
【請求項８６】
前記第１の実行可能情報モジュールが、前記複数の異質性計算要素の選択された構成の時間的継続を指示する反復制御シーケンスをさらに含む請求項６４に記載の方法。
【請求項８７】
前記第１の構成情報が、以前に記憶済みの構成シーケンスに対するリファレンスである請求項６４に記載の方法。
【請求項８８】
構成情報およびオペランド・データと、
複数の固定の異なる計算要素と、
前記複数の固定の異なる計算要素に結合され、前記構成情報に応答して複数の機能モードのために前記複数の固定の異なる計算要素を構成し、再構成するように動作する相互接続ネットワークとを含む適応集積回路。
【請求項８９】
前記構成情報が、前記オペランド・データの使用のための動作モードを提供する請求項８８に記載の適応集積回路。
【請求項９０】
前記複数の機能モードが、以下の機能モード、すなわち、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン動作、コントローラ動作、メモリ動作、およびビット・レベル操作の少なくとも２つを含む請求項８８に記載の適応集積回路。
【請求項９１】
前記構成情報が、メモリ機能モードのために構成された前記複数の固定の異なる計算要素の一部分の中に記憶される請求項８８に記載の適応集積回路。
【請求項９２】
前記構成情報が、前記複数の固定の異なる計算要素の構成として記憶される請求項８８に記載の適応集積回路。
【請求項９３】
前記複数の固定の異なる計算要素が、複数の特定のアーキテクチャから選択され、前記複数の特定のアーキテクチャが、次の対応する機能、すなわち、メモリ、加算、乗算、複素乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラミング性の少なくとも２つを含む請求項８８に記載の適応集積回路。
【請求項９４】
前記複数の固定の異なる計算要素が、前記構成情報と混合された前記オペランド・データを含む単独のビット・ストリームから前記構成情報を識別し、選択するように構成された請求項８８に記載の適応集積回路。
【請求項９５】
前記相互接続ネットワーク内で前記構成情報のルーティングを提供するように前記構成情報に結合されたルーティング・シーケンスをさらに含む請求項８８に記載の適応集積回路。
【請求項９６】
前記複数の異質性計算要素の選択された異質性計算要素にクロック信号を提供しないように前記相互接続ネットワークに指示する電力制御シーケンスをさらに含む請求項８８に記載の適応集積回路。
【請求項９７】
前記複数の異質性計算要素の選択された構成の時間的継続を指示する反復制御シーケンスをさらに含む請求項８８に記載の適応集積回路。
【請求項９８】
前記構成情報が、以前に記憶済みの構成シーケンスに対するリファレンスである請求項８８に記載の適応集積回路。
【請求項９９】
第１の実行可能情報モジュールおよび第２の実行可能情報モジュールがそれぞれ、対応するオペランド・データを有する複数の実行可能情報モジュールと、
第１のアーキテクチャを有する第１の計算要素、および第２のアーキテクチャを有する第２の計算要素を含む複数の固定の計算要素の複数の構成の選択された構成からそれぞれが形成された複数の異質性計算ユニットを含む複数の再構成可能なマトリックスであって、
前記第１のアーキテクチャが前記第２のアーキテクチャとは異なり、前記複数の異質性計算ユニットが相互接続ネットワークに結合され、前記複数の実行可能情報モジュールに応答して再構成可能であるマトリックスと、
前記複数の再構成可能なマトリックスに結合され、前記第１の実行可能情報モジュールに応答して第１の動作モードのために前記複数の再構成可能なマトリックスを構成し、前記第１の動作モードのために前記複数の再構成可能なマトリックスに対応するオペランド・データを提供することができ、前記第２の実行可能情報モジュールに応答して第２の動作モードのために前記複数の再構成可能なマトリックスを再構成し、前記第２の動作モードのために前記複数の再構成可能なマトリックスに対応するオペランド・データを提供することができるマトリックス相互接続ネットワークとを含む適応集積回路。
【請求項１００】
前記複数の再構成可能なマトリックスに結合され、前記再構成可能なマトリックスおよび前記マトリックス相互接続ネットワークに前記複数の実行可能情報モジュールを提供することができるコントローラをさらに含む請求項９９に記載の適応集積回路。
【請求項１０１】
適応的で再構成可能な集積回路を動作させるためのシステムであって、
第１の複数の選択された機能の実行のために第１の複数の構成された計算要素を形成するように複数の計算要素を空間的に構成し、再構成するための手段と、
第２の選択された機能の実行のために第２の複数の構成された計算要素を形成するように前記複数の計算要素を時間的に構成するための手段と、
前記第１の複数の構成された計算要素および前記第２の複数の構成された計算要素にデータを提供するための手段と、
前記複数の計算要素の前記空間的構成および前記時間的構成を前記第１の複数の構成された計算要素および前記第２の複数の構成された計算要素に対する前記データの前記提供と協調させるための手段とを含むシステム。
【請求項１０２】
第１の構成情報および第２の構成情報を有し、第１のオペランド・データおよび第２のオペランド・データをさらに有する第１の実行可能情報モジュールと、
第１の計算要素が第１の固定アーキテクチャを有し、第２の計算要素が第２の固定アーキテクチャを有し、前記第１の固定アーキテクチャが前記第２の固定アーキテクチャとは異なる複数の異質性計算要素と、
前記複数の異質性計算要素に結合され、前記第１の構成情報に応答して複数の機能モードの第１の機能モードのために前記複数の異質性計算要素を構成することができ、前記第１の動作モードのために前記複数の異質性計算要素に前記第１のオペランド・データを提供することができ、前記第２の構成情報に応答して前記複数の機能モードの第２の機能モードのために前記複数の異質性計算要素を再構成することがさらにでき、前記第１の機能モードが前記第２の機能モードとは異なり、前記第２の動作モードのために前記複数の異質性計算要素に前記第２のオペランド・データを提供することができる相互接続ネットワークとを含む適応集積回路であって、
前記複数の異質性計算要素の第１のサブセットが、次の対応する機能、すなわち、前記複数の異質性計算要素の構成および再構成を指示する機能、前記第１の実行可能情報モジュールから前記第１の構成情報および前記第２の構成情報を選択する機能、および前記複数の異質性計算要素の前記構成および前記再構成を第１のオペランド・データおよび第２のオペランド・データに対して協調させる機能の少なくとも２つを含むコントローラ動作モードのために構成され、前記複数の異質性計算要素の第２のサブセットが、前記第１の構成情報および前記第２の構成情報を記憶するためのメモリ動作モードのために構成された集積回路。
【請求項１０３】
第１の構成情報および第２の構成情報を有し、第１のオペランド・データおよび第２のオペランド・データをさらに有する第１の実行可能情報モジュールと、
第１の計算要素が複数の固定アーキテクチャの第１の固定アーキテクチャを有し、第２の計算要素が前記複数の固定アーキテクチャの第２の固定アーキテクチャを有し、前記第１の固定アーキテクチャが前記第２の固定アーキテクチャとは異なり、前記複数の固定アーキテクチャが、次の機能、すなわち、メモリ、加算、乗算、複素乗算、減算、構成、再構成、制御、入力、出力、およびフィールド・プログラミング性の少なくとも２つを含む複数の異質性計算要素と、
前記複数の異質性計算要素に結合され、前記第１の構成情報に応答して複数の機能モードの第１の機能モードのために前記複数の異質性計算要素を構成することができ、前記第２の構成情報に応答して前記複数の機能モードの第２の機能モードのために前記複数の異質性計算要素を再構成することがさらにでき、前記第１の機能モードのため、および前記第２の機能モードのために前記複数の異質性計算要素に第１のオペランド・データおよび第２のオペランド・データをそれぞれ提供することがさらにでき、前記第１の機能モードが前記第２の機能モードとは異なり、前記複数の機能モードが、次の機能モード、すなわち、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン動作、メモリ動作、およびビット・レベル操作の少なくとも２つを含む相互接続ネットワークとを含む適応集積回路。
【請求項１０４】
第１の構成情報および第２の構成情報を有し、オペランド・データをさらに有する実行可能情報モジュールと、
複数の固定の異なる計算要素と、
前記複数の固定の異なる計算要素に結合され、前記第１の構成情報に応答して、オペレーティング・システムを有するように前記複数の固定の異なる計算要素を構成することができ、前記オペレーティング・システムが、前記第２の構成情報に応答して、前記オペランド・データを利用するように作用する複数の機能モードのために前記複数の固定の異なる計算要素を制御し、ルーティングし、時間的に再構成することがさらにできる相互接続ネットワークとを含む適応集積回路。
【請求項１０５】
前記オペレーティング・システムが、第３の構成情報を生成するようにさらに動作する請求項１０４に記載の適応集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、集積回路、および集積回路のシステムに関する。より詳細には、本発明は、固定の特定用途向け計算要素を有する適応集積回路の構成および動作のための装置、方法、システム、および実行可能モジュールに関する。
【背景技術】
【０００２】
（関連出願の相互参照）
本出願は、本出願と同じくＱｕｉｃｋＳｉｌｖｅｒ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｃ．に譲渡され、参照により本明細書に組み込まれており、すべての共通で開示する主題に関して優先権が主張される２００１年３月２２日に出願した「Adaptive Integrated Circuitry With Heterogeneous And Reconfigurable Matrices Of Diverse And Adaptive Computational Units Having Fixed, Application Specific Computational Elements」という名称のＰａｕｌ  Ｌ．Ｍａｓｔｅｒ他による米国特許出願第０９／８１５，１２２号明細書（「第１の関連出願」）に関連する。
【０００３】
本出願は、本出願と同じくＱｕｉｃｋＳｉｌｖｅｒ  Ｔｅｃｈｎｏｌｏｇｙ  Ｉｎｃ．に譲渡され、参照により本明細書に組み込まれており、すべての共通で開示する主題に関して優先権が主張される２００１年１１月３０日に出願した「Apparatus, System And Method For Configuration Of Adaptive Integrated Circuitry Having Fixed, Application Specific Computational Elements」という名称のＰａｕｌ  Ｌ．Ｍａｓｔｅｒ他による米国特許出願第０９／９９７，５３０号明細書（「第２の関連出願」）に関連する。
【０００４】
第１の関連出願は、潜在的な欠点を最小限に抑えながら、プロセッサ、特定用途向け集積回路（「ＡＳＩＣ」）、およびフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）の様々な利点を効果的かつ効率的に組み合わせ、最大化する新しい形態、または新しいタイプの集積回路を開示している。第１の関連出願は、プロセッサのプログラミングの柔軟性、ＦＰＧＡの製造後の柔軟性、ならびにＡＳＩＣの高い速度および高い利用率を提供する適応コンピューティング・エンジン（「ＡＣＥ」）と呼ばれる新しい形態、または新しいタイプの集積回路を説明している。このＡＣＥ集積回路は、容易に再構成可能であり、対応する複数の動作モードを有することができ、さらに、性能を向上させながら電力消費を最低限に抑え、ハンドヘルド・デバイス、およびその他の電池式デバイスにおける使用などの低電力アプリケーションに対して特に適合性を有する。
【０００５】
第２の関連出願は、構成情報の１つまたは複数のセットと結合されたＡＣＥ集積回路を含む好ましいシステム実施形態を開示している。この構成情報は、前もって、またはリアルタイムで（または、場合により、より遅い速度で）、無線通信、ラジオ受信、パーソナル・デジタル・アシスタント（「ＰＤＡ」）、ＭＰ３またはＭＰ４の音楽再生、あるいは任意の他の所望の機能などの、ＡＣＥ回路のための１つまたは複数の動作モードを提供し、生成する構成および再構成を生成するのに必要とされる。ＡＣＥ集積回路に関する構成情報を生成し、提供するため、ＡＣＥ再構成の機能または能力を決定するため、セキュアな構成および許可された構成を提供するため、ならびに構成およびコンテンツ使用の適切な監視を提供するための様々な方法、装置、およびシステムも第２の関連出願で説明している。
【０００６】
ただし、ＡＣＥ回路およびその他のＡＣＥデバイスの１つまたは複数の動作モード、または他の機能を有するようにそのような適応集積回路を構成するだけでなく、そのような適応集積回路を動作させるための装置、方法、およびシステムの必要性が依然として存在している。そのような装置、方法、およびシステムは、ユーザ・データまたはその他のコンテンツとは独立に提供される構成情報と、ユーザ・データまたはその他のコンテンツと同時に提供される構成情報をともに利用して、適応ＩＣを構成し、動作させることができなければならない。そのような装置、方法、およびシステムは、とりわけ、構成をデータと協調させ、構成およびデータの自己ルーティングを提供し、ＡＣＥ回路内で電力制御を提供しなければならない。
【特許文献１】米国特許出願第０９／８１５，１２２号明細書
【特許文献２】米国特許出願第０９／９９７，５３０号明細書
【特許文献３】米国特許第５，２１８，２４０号明細書
【特許文献４】米国特許第５，３３６，９５０号明細書
【特許文献５】米国特許第５，２４５，２２７号明細書
【特許文献６】米国特許第５，１１４，１６６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
適応コンピューティングまたは再構成可能なコンピューティングのための本発明の適応コンピューティング・エンジン（「ＡＣＥ」）回路は、相互接続ネットワークに結合された複数の異質性計算要素（ＦＰＧＡの同じ同質の繰り返されるアレイ・ユニットではなく）を含む。複数の異質性計算要素は、メモリ、加算、乗算、複素乗算、減算、構成、再構成、制御、入力、出力、ルーティング、およびフィールド・プログラミング性などの異なる機能のための固定アーキテクチャなどの、固定の異なるアーキテクチャを有する対応する計算要素を含む。
【０００８】
構成情報に応答して、相互接続ネットワークは、前もって、リアルタイムで、または、場合により、より低速で、線形アルゴリズム演算、非線形アルゴリズム演算、有限状態マシン演算、メモリ演算、およびビット・レベル操作を含む複数の異なる機能モードに関する複数の異質性計算要素を構成し、再構成するように動作する。様々な計算ユニットおよび適応マトリックスを形成する異質性計算要素のこの構成および再構成により、多種多様なタスクの実行のために、ＡＣＥ集積回路の選択された高レベルの動作モードが生成される。
【０００９】
本発明は、ＡＣＥ回路およびその他のＡＣＥデバイスの１つまたは複数の動作モードまたはその他の機能のために、そのような適応集積回路を構成し、動作させることをともに行うための様々な手段を示す。本発明は、ユーザ・データまたはその他のコンテンツとは独立に提供される構成情報と、ユーザ・データまたはその他のコンテンツと同時に提供される構成情報をともに利用して、適応ＩＣのそのような構成および動作を提供する。また、本発明は、とりわけ、構成をデータと協調させ、構成およびデータの自己ルーティングを提供し、ＡＣＥ回路内で電力制御を提供する手段も提供する。
【課題を解決するための手段】
【００１０】
そのような構成および動作を提供する好ましい方法は、複数の情報シーケンスからなる「シルバーウェア」モジュール（「シルバーウェア」とも呼ぶ）を利用する。第１の情報シーケンス（またはフィールド）が、構成情報であるか、またはメモリの中にキャッシュされた、または記憶された（または計算要素の構成の中に記憶された）対応する構成情報に対応するリファレンス（フラグまたは他の指示などの）であることが可能な構成制御を提供する。第２の情報シーケンスが、構成された計算要素が使用するためのオペランド・データを提供する。第３の情報シーケンスが、ルーティング制御を提供し、ＡＣＥ集積回路のマトリックス環境内の適切な場所にその他の情報シーケンスを向かわせる。また、好ましい実施形態では、第４の情報シーケンスが、電力制御を提供するのに利用されて、様々な計算要素がクロック・オンまたはクロック・オフされる。また、他の情報シーケンスも利用して、例えば、繰り返しの使用のために構成具体例を維持すること、または将来の使用（現在、未定義である）のために情報の新しいフィールドまたはタイプを定義することができる。
【００１１】
例えば、好ましいシステム実施形態の１つは、第１に、複数の計算要素に対して構成情報をルーティングするための手段を提供し、第２に、複数の計算要素の構成および再構成を行って複数の選択された機能の実行のために複数の構成された計算要素を形成するための手段を提供し、第３に、複数の構成された計算要素に対してオペランド・データを提供するための手段を提供し、第４に、対応するオペランド・データの受領に先行するように構成タイミングを制御するための手段を提供する。
【００１２】
別の好ましいシステム実施形態は、第１に、複数の計算要素の空間的な構成および再構成を行って第１の複数の選択された機能の実行のために第１の複数の構成された計算要素を形成するための手段を提供し、第２に、複数の計算要素を時間的に構成して第２の複数の選択された機能の実行のために第２の複数の構成された計算要素を形成するための手段を提供し、第３に、第１の複数の構成された計算要素および第２の複数の構成された計算要素にデータを提供するための手段を提供し、第４に、複数の計算要素の空間的構成および時間的構成を第１の複数の構成された計算要素および第２の複数の構成された計算要素に対するデータの供給と協調させるための手段を提供する。
【００１３】
本発明の多数の他の利点および特徴が、本発明の以下の詳細な説明、および本発明の実施形態、特許請求の範囲、ならびに添付の図面から明白となる。
【発明を実施するための最良の形態】
【００１４】
本発明は、多くの異なる形態における実施が可能であるが、本開示は、本発明の原理の例示と考えられ、本発明を例示する特定の実施形態に限定するものではないという理解の下で、本発明の特定の実施形態を図面に示し、本明細書で詳細に説明する。
【００１５】
前述したとおり、ＡＣＥ回路、およびＡＣＥ技術を組み込んだその他のデバイスの１つまたは複数の動作モードを提供するように適応集積回路を構成し、動作させるための装置、方法、およびシステムの必要性が依然として存在している。そのような装置、方法、およびシステムが本発明に従って提供され、ユーザ・データとは独立に提供される構成情報と、ユーザ・データまたはその他のコンテンツと同時に提供される構成情報をともに利用して適応ＩＣを構成し、動作させることができる。また、本発明は、とりわけ、構成をデータと協調させ、構成およびデータの自己ルーティングを提供し、ＡＣＥ回路内で電力制御を提供する手段も提供する。
【００１６】
本発明の装置、システム、および方法は、適応コンピューティング・エンジンと呼ばれる新しい形態の集積回路を利用する。ＡＣＥアーキテクチャは、相関器、乗算器、複素乗算器、加算器、ルータ、復調器、および結合器などの複数の固定の計算要素を利用し、これらの計算要素は、構成情報に応答して、無線通信機能を実行するなどの選択された動作モードを実行する、または遂行するのに任意の所与の時点で必要とされる可能性がある機能ブロック（計算ユニットおよび計算マトリックス）を形成するように、相互接続ネットワークを介して前もって、リアルタイムで、または、場合により、より遅い速度で構成され、再構成されることが可能である。また、本発明の方法およびシステムにより、電力消費が最小限に抑えられ、ハンドヘルド・デバイスおよびその他の電池式デバイスにおける使用などの低電力アプリケーションに特に適している。
【００１７】
図１は、本発明による、好ましくは「シルバーウェア・モジュール」と呼ばれる例示的な実行可能情報モジュール７０を示す図である。モジュール７０は、以下により詳細に説明するとおり、インターネット・プロトコル（ＩＰ）パケットなどの１つまたは複数の別個の情報パケットとして実装されること、または連続する情報ストリームまたは他のビット・ストリームとして実装されることが可能である。
【００１８】
図１を参照すると、モジュール７０が、一部は必須であり、一部はオプションである複数の情報フィールドから構成されている。さらに、選択された実施形態に依存して、様々なフィールド（７１〜９９）は、複数の異なる順序で出現することが可能であり、一部の実施形態では、順序に関係なく出現することが可能である。図１に示すとおり、モジュール７０は、同期情報、アドレス指定情報、およびセキュリティ情報（デジタル署名などの）などのヘッダ情報をフィールド７１内に含む。そのようなヘッダ情報には、通常、モジュール７０が、図２に示したような外部ソースからＡＣＥ回路にいつ伝送または転送されるかが含まれる。
【００１９】
次に、フィールド７２〜７８は、対応する自己ルーティング情報を有する構成情報を示している。以下により詳細に説明するとおり、このルーティング情報は次の２つの目的を有する。第１に、ルーティング情報は、ＡＣＥアーキテクチャの様々なマトリックス内に記憶するために構成情報をキャッシュ域またはメモリ域に向かわせ、第２に、ルーティング情報は、ＡＣＥアーキテクチャの様々なマトリックス内の計算要素を構成するように構成情報を指示された場所、または指定された場所に向かわせる。（構成が行われると、計算要素と相互接続ネットワークは、実質的にメモリとしても動作し、構成情報を実際の構成として記憶することに留意されたい。）ルーティング情報は、外部ソースによってＡＣＥに提供されること、またはＡＣＥアーキテクチャによって自己生成されることが可能である。図１に示すとおり、フィールド７２および７３は、それぞれ、構成「Ａ」に関するルーティング情報、および構成「Ａ」に関する構成情報を提供し、フィールド７４および７５は、それぞれ、構成「Ｂ」に関するルーティング情報、および構成「Ｂ」に関する構成情報を提供し、フィールド７６および７７は、それぞれ、構成「Ｃ」に関するルーティング情報、および構成「Ｃ」に関する構成情報を提供し、フィールド７８および７９は、それぞれ、構成「Ｄ」に関するルーティング情報、および構成「Ｄ」に関する構成情報を提供している。
【００２０】
そのようなルーティング情報および構成情報は、好ましい実施形態では、すべての構成に関して提供されて、ＡＣＥ回路およびＡＣＥデバイスに１つまたは複数の動作モードを提供するのに利用される。以下に説明するとおり、構成情報だけがＡＣＥデバイスに提供され、次に、ＡＣＥデバイスが、独自のルーティング情報を内部で生成することができる多くの事例が存在する。その他のケースでは、両方のタイプの情報が外部ソースからＡＣＥに提供されることが可能である。例えば、モバイル通信デバイスとしてのそのような構成の後、モバイル通信セッション中の音声データなどのユーザ・データが別に提供されることが可能である。
【００２１】
さらに別のケースでは、そのような構成情報およびルーティング情報がユーザ・データと同時に提供されることが可能である。例えば、構成情報と再生されるべき音楽コンテンツの両方から成るＭＰＥＧファイルが、ＡＣＥデバイスにダウンロードされることが可能である。それらの状況、および以下により詳細に説明するＡＣＥアーキテクチャの内部動作のために、追加の情報がモジュール７０に含められる。図１を参照すると、モジュール７０は、好ましくは、構成情報「Ａ」に対するリファレンスまたはフラグを提供するフィールド８０や、構成情報「Ｂ」に対するリファレンスまたはフラグを提供するフィールド８１のように、以前に提供され、記憶された構成情報を示すリファレンスまたはフラグを含む。これらのリファレンスまたはフラグは、構成のタイミングを着信するデータに対して調整するのに、すなわち、それらの構成された計算要素によるデータの受領に先立ってそれらの構成の生起を「呼び出す」、開始する、または別の形で誘導するのに使用される。次に、図示するとおり、モジュール７０は（オプションとして）電力制御フィールド８２を含み、このフィールドは、ＡＣＥアーキテクチャの様々なコンポーネントを別個に独立にクロック制御する（または給電する）のに利用されて、例えば、ＩＣの現在、未使用の部分で電力を節約しながら、構成「Ａ」および「Ｂ」にクロック制御を提供する。
【００２２】
図１を参照することを続けると、フィールド８３〜９７が、とりわけ、ＡＣＥアーキテクチャに対するユーザ・データの供給を示しており、すなわち、様々な構成された計算要素によって離散コサイン変換などの様々な機能を実行する際に利用される、処理される、または「演算処理される」データ（「ユーザ・データ」または「オペランド・データ」）であり、以前に導出された等化器係数（「係数データ」）などの様々な計算要素の設定を確立する、または復元する際に役立つ他のデータまたはパラメータが含まれることも可能である。（本明細書における使用では、そのようなオペランド・データまたはユーザ・データにより、情報のタイプ間の「略記の」区別が提供され、「演算処理される」データが、構成情報、構成データ、またはルーティング情報やクロック制御情報などの他のタイプの情報から区別される。）ルーティング情報は、適切なマトリックス域に対するデータの自己ルーティングを提供するのにも利用される。さらに、構成情報またはデータ情報などの情報のタイプを示すオプションのフィールドが含められることが可能である。
【００２３】
図示するとおり、フィールド８３および８４は、それぞれ、構成「Ａ」のためのデータに関するルーティング情報、および構成「Ａ」において、または構成「Ａ」によって使用されるデータを提供し、フィールド８５は、構成「Ｃ」を生成するリファレンスまたはフラグを提供し、フィールド８６および８７は、それぞれ、構成「Ｂ」のためのデータに関するルーティング情報、および構成「Ｂ」において、または構成「Ｂ」によって使用されるデータを提供し、フィールド８８は、構成「Ｄ」のための第２の、または代用のルーティング場所（様々なマトリックス内の異なる場所などの）を提供し、フィールド９０および９１は、それぞれ、構成「Ａ」のためのデータに関するルーティング情報、および構成「Ａ」において、または構成「Ａ」によって使用される追加のデータを提供し、フィールド９２および９３は、それぞれ、構成「Ｃ」のためのデータに関するルーティング情報、および構成「Ｃ」において、または構成「Ｃ」によって使用されるデータを提供し、フィールド９４および９５は、それぞれ、構成「Ｄ」のためのデータに関するルーティング情報、および構成「Ｄ」において、または構成「Ｄ」によって使用されるデータを提供し、フィールド９６および９７は、それぞれ、構成「Ｂ」のためのデータに関するルーティング情報、および構成「Ｂ」において、または構成「Ｂ」によって使用されるデータを提供する。別のフィールド（９８）を使用して、情報タイプに関する、または情報タイプを指示する情報が提供されることも可能である（例えば、その構成情報がモジュール７０内の次のフィールドである）。別のオプションとして、追加のフィールド（フィールド９９）を「ループ」命令のために利用して、構成の特定の具体例が特定の期間または特定のサイクル数にわたって配備されたままであるべきことが指示されることも可能である。将来の使用（現在、未定義である）のために新しいタイプの情報を定義するために、またはそれ以外で自己拡張可能であるようにその他のフィールドを利用することも可能である。図示するとおり、モジュール７０は、ＡＣＥアーキテクチャが利用されている、または動作させられている限り、さらなる構成情報およびデータ（対応するルーティング情報、電力制御、タイプ指示等を伴う）を提供して、継続されることが可能である。モジュール７０において提供される情報の用途についても、以下により詳細に説明する。
【００２４】
図２は、本発明による複数のシステム実施形態を示すブロック図である。前述し、以下により詳細に説明するとおり、本発明の好ましいシステムは、構成情報（モジュール７０などの）と結合された、または組み合わせられたＡＣＥ１００から構成され、例えば、無線デバイス３０および３２内、有線デバイス３５内、コンピュータ５５内、家庭用電化製品内、自動車エレクトロニクス３７内、ならびにサーバ５４、ルータ５３、ローカル・エリア・ネットワーク（ＬＡＮ）４１、無線ＬＡＮ４３、ワイド・エリア・ネットワーク（ＷＡＮ）４２、付属ネットワーク・エンティティ５０、交換システム５２および５６、無線基地局２５などのネットワーク・インフラストラクチャ設備内、および任意の他の電子デバイスの内を含む多種多様な実施形態において実装することができる。
【００２５】
明確にしておくと、本明細書で使用する「構成情報」という用語は、言語上の複数の含意を有し、その含意を含むものと一般的に理解されたい。すなわち、構成情報は、複数の情報ビット、情報のグループまたはセットであり、すなわち、「複数」の構成情報であるものと一般的に理解されたい。例えば、「構成情報」は、複数のサブセットから成る構成情報のセットと見なすことができ、そのようなサブセットが、第１の構成情報、第２の構成情報、第３の構成情報、乃至第ｎ番の構成情報である。構成情報のサブセットは単数（サブセットに１ビットの情報が含まれる）であることが可能であるが、構成情報のそれぞれのそのようなサブセットも、一般に複数であり、通常、８、１６、３２、または６４の情報ビットなどの単一のビットが符号化することができるのよりも多くの情報を含む。
【００２６】
ユーザ・データまたは係数データを伴う、または伴わないモジュール７０内に示したような構成情報は、様々な形態で存在することも可能であり、任意の所与の時点で、記憶された（または固定の）性質を有すること、または過渡的な性質または一時的性質を有することが可能である。例えば、図２に示すとおり、実行可能モジュール（モジュール７０などの）、または他の構成情報（モジュール７０の形態を有さない）が、バイナリ（ビット）ファイルとしてフラッシュ・メモリ１０（デバイス３５に関する）の中に、またはコンピュータの中に、またはコンピュータ５５Ｂのための他のマシン可読媒体２０（ＣＤ−ＲＯＭ、他の光ドライブ、コンピュータ・メモリ、ハードドライブ、またはフロッピー（登録商標）・ディスクなどの）の中に記憶されることが可能である。以下により詳細に説明するとおり、そのような構成情報は、データと互いに入り込ませて、または絡み合わせて、モジュール７０などのシルバーウェア・モジュールを形成することも可能であり、シルバーウェア記憶媒体１５または他の媒体（フラッシュ・メモリまたはＣＤ−ＲＯＭなどの）の中にバイナリ・ファイルとして記憶されることも可能である。モジュール７０または構成情報は、例えば、無線インターフェースを介して基地局２５Ａから無線デバイス３２（モバイル局またはその他のモバイル電話機などの）に無線でダウンロードされた際に、過渡的に、時を通じて生じることも可能である。
【００２７】
図２をより詳細に参照すると、ローカル・エリア・ネットワーク（「ＬＡＮ」）４１、無線ＬＡＮ４３、ワイド・エリア・ネットワーク（「ＷＡＮ」）４２、ならびにより一般的に、公衆交換電話網（「ＰＳＴＮ」）またはインターネットなどのネットワーク４０を含む複数のネットワークが示されている。様々なネットワークには、ルータ５３Ａおよび５３Ｂ、サーバ５４Ａおよび５４Ｂ、有線交換センタ５６、モバイル交換センタ（「ＭＳＣ」）５２が結合され、無線基地局（または他の無線トランシーバ）２５Ａおよび２５Ｂ、有線デバイス３５、コンピュータ５５Ａおよび５５Ｂ、ならびに付属ネットワーク・エンティティ５０に対するさらなる接続または結合可能性を伴う。当技術分野で周知のとおり、中継線、光学線、および他の通信線を介して以上の様々なデバイスが、互いに接続され、より広いネットワーク（ＰＳＴＮまたはインターネットなどの）に接続されることが可能であり、サテライト（別個に図示せず）に対するリンクを提供すること、および他の無線リンク（無線インターフェース）を提供することなどの他の場所に対する通信接続を伴う。ルータ５３Ｂ、サーバ５４Ｂ、基地局２５Ｂ、およびコンピュータ５５Ｂは別個に示されて（「Ｂ」で）、家庭用電化製品内、自動車エレクトロニクス内、およびモバイル・エレクトロニクス内に含まれることに加えて、そのようなインフラストラクチャ設備内、およびローカル・エリア・ネットワーク（ＬＡＮ）４１内、無線ＬＡＮ４３内、ワイド・エリア・ネットワーク（ＷＡＮ）４２内、付属ネットワーク・エンティティ５０内にＡＣＥ１００（および本発明のシステム）が含まれる可能性を示している。また、有線交換センタ５６とモバイル交換センタ５２は、通常、規制上の理由、その他の歴史的理由またはレガシーの理由により、物理的に分離されるが、これらの交換センタを結合して、有線機能と無線機能をともに有する１つまたは複数の交換センタにすることも可能である。
【００２８】
これらの様々なサーバ・エンティティ、交換エンティティ、ルーティング・エンティティ、およびその他のエンティティは、付属ネットワーク・エンティティ５０などの付属ネットワーク・エンティティと呼ばれる１つまたは複数のインテリジェント・ネットワーク・デバイスに接続することも可能であり、このネットワーク・デバイスは、追加のタイプのサーバ、データベース、サービス制御ポイント（「ＳＣＰ」）、サービス回線ノード（「ＳＣＮ」）（サービス・ノードとも呼ばれる）、インテリジェント周辺（「ＩＰ」）デバイス、ゲートウェイ・デバイス、または別のインテリジェント・ネットワーク・デバイスであることが可能である。１つまたは複数の付属ネットワーク・エンティティ５０が、好ましくは、有線交換センタ５６、ＭＳＣ５２、ローカル・エリア・ネットワーク（ＬＡＮ）４１、無線ＬＡＮ４３、ワイド・エリア・ネットワーク（ＷＡＮ）４２、ルータ５３、およびサーバ５４に対する直接接続または間接接続のために、ネットワーク４０に接続または結合される。好ましい実施形態では、付属ネットワーク・エンティティ５０は、アプリケーション・ノード５１Ａ、５１Ｂ、乃至５１Ｎとして示した特定のアプリケーション（「アプリケーション・ノード」）５１のためのノードまたはプラットフォームを提供して、構成情報のダウンロード、実行可能モジュール７０、認証、セキュリティ、許可、および適合性評価を提供することなどの様々な機能を実行する。付属ネットワーク・エンティティ５０内に含められることに加えて、これらの様々なアプリケーション・ノード５１は、１つまたは複数のサーバ５４などの他の様々なデバイス間で分散させること、またはそのデバイス内に含めることも可能である。例えば、１つのサーバ５４を利用して、構成情報を提供し、付属ネットワーク・エンティティ５０が認証およびセキュリティのために利用され、追跡およびアカウンティングがさらに別のサーバ５４またはコンピュータ５５において行われることが可能である。
【００２９】
説明のため、限定としてはなく、図２に示した本発明の様々なシステムには、システム１１（ＦＬＡＳＨ１０内に構成情報またはモジュール７０を有する有線デバイス３５のＡＣＥ１００）、システム１６（シルバーウェア記憶媒体１５内に構成情報またはモジュール７０を有する無線デバイス３０のＡＣＥ１００）、システム３１（ＲＡＭ、または以下に説明するマトリックス相互接続ネットワーク（「ＭＩＮ」）などのある形態のメモリ（図３に別個に示す）の中に記憶された構成情報またはモジュール７０を有する無線デバイス３２のＡＣＥ）、システム２１（コンピュータ可読媒体２０の中に記憶された構成情報またはモジュール７０を有するコンピュータ５５ＢのＡＣＥ１００）、システム２２（ある形態のメモリ（図３に別個に示す）の中に記憶された構成情報またはモジュール７０を有するサーバ５４ＢのＡＣＥ１００）、および２３（メモリ（図３に別個に示す）の中に記憶された構成情報またはモジュール７０を有するルータ５３ＢのＡＣＥ１００）が含まれる。明白なとおり、本発明のシステムは、図示したデバイスまたは品目（例えば、ＬＡＮ４１、無線ＬＡＮ４３、ＷＡＮ４２、および付属ネットワーク・エンティティ５０）に加えて、任意のデバイスまたは他の品目の内部で実現することも可能であり、そのデバイスまたは他の品目は、対応する動作モードを提供するためにＡＣＥ１００および構成情報（またはモジュール７０）を含み、それ以外では、任意の特定の装置または他の実施形態と同延であることが可能である。
【００３０】
また、その他のネットワーク・システム、または分散レベル・システムも本発明の範囲に含まれる。例示的なネットワーク・システムは、ＡＣＥ１００が使用するために、モジュール７０などの構成情報またはシルバーウェア・モジュール（データと結合された構成情報）を提供する１つまたは複数のアプリケーション・ノード５１を付属ネットワーク・エンティティ５０内、または他のサーバ５４内に含むことが可能である。そのような構成情報および他の情報を記憶することにより、そのようなネットワーク・システムまたは分散レベル・システムは、実質的に「ネット」上に「ハードウェア」を記憶する。そのようなネットワーク・システムまたは分散レベル・システムは、好ましい実施形態では、ＡＣＥ１００からの要求に応答して、またはＡＣＥ１００に代行して、次の１つまたは複数を提供することができる。すなわち、構成情報の１つまたは複数のセット、構成情報とともに使用するために変更されたコンテンツまたは他のデータ、構成情報を対応するデータまたは他のコンテンツと結合するシルバーウェア・モジュール（７０）、固有のデバイスに合わせて調整された、または透かしが入れられた構成情報、および／または構成情報またはシルバーウェア・モジュールの暗号化である。
【００３１】
構成情報は、いずれの所与のＡＣＥ１００デバイスにもローカルである必要がないので、分散システムも本発明の範囲に含まれる。例えば、構成情報またはシルバーウェアは、アプリケーション・ノード５１、付属ネットワーク・エンティティ５０、他のサーバ５４、および図１の他の例示する要素の間などで、ネットワーク４０全体にわたって記憶することができる。そのような分散システムに関して、ＡＣＥ１００は、オペレーティング・システム（「ＯＳ」）を介するなどして、以上のネットワーク・デバイスの１つを介するなどして構成情報を獲得するようにだけ構成することができる。
【００３２】
本発明の範囲に含まれる他の分散システムは、互いを認識するように構成されたＡＣＥ１００デバイスのクラスタから構成される。例えば、無線ＩＰルーティングは、動作モードの受信と送信の両方のためにそれぞれが構成された最も近い隣接ＡＣＥによって行われることが可能である。他のＡＣＥクラスタは、並列処理タスクを実行すること、分散アンテナ・システムとして動作すること、またはそれ以外で、対話機能を実行することが可能である。
【００３３】
図３は、本発明による統合システム実施形態６０を示すブロック図である。システム６０は、好ましくは、単一の集積回路（チップ上のシステム、または「ＳＯＣ」）として実装される。システム６０は、ＡＣＥ１００を含み、メモリ６１、インターフェース６２、および１つまたは複数の他の処理要素６５も含むことが可能である。そのようなシステム６０は、例えば、図２のルータ５３およびサーバ５４の内部に含まれることが可能であり、あるいはモバイル局３０またはモバイル・デバイス３２、有線デバイス３５などの他の組み込みシステム内部に含まれることが可能である。以下により詳細に説明するとおり、システム６０がＡＣＥ１００だけから構成されている場合、そのＡＣＥ１００は、一般に、処理機能、インターフェース機能、およびその他のＩ／Ｏ機能を含むように構成され、メモリは、メモリ計算要素を介して構成されるか、またはマトリックス相互接続ネットワーク（ＭＩＮ）内部で直接に構成される。システム６０は、図２にオプションの処理要素６５、インターフェース６２、およびメモリ６１とともに示すとおり、通常、既存の、またはその他のレガシー・システムおよびレガシー・デバイスとの下位互換性または後方互換性を提供するように実装される。
【００３４】
インターフェース６２は、関連するチャネル、ネットワーク、またはバスに対する適切な接続のために利用され、例えば、インターフェース６２は、有線インターフェースのためにインピーダンス・マッチング、ドライバ、およびその他の機能を提供することができ、無線インターフェースのために復調およびアナログ−デジタル変換を提供することができ、メモリ６１に他のデバイスとの物理インターフェースを提供することができる。一般に、インターフェース６２は、選択された実施形態に依存して、音声情報、構成情報、シルバーウェア・モジュール（７０）、制御メッセージ、認証データ、およびその他の関係する情報などのデータの受信および送信を行うために使用される。また、ＡＣＥ１００は、ＰＣＩバス制御などのために、内部ＩＣ入力／出力（「Ｉ／Ｏ」）および外部（オフチップ）Ｉ／Ｏを含むインターフェース６２の機能を提供するように構成されることも可能である。メモリ６１は、様々な形態のＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ＦｅＲＡＭ、ＭＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、Ｅ２ＰＲＯＭ、フラッシュなどの集積回路であること、または集積回路の一部分であることが可能である。非ＩＣ（または非ＳＯＣ）の実施形態の場合、メモリ６１は、磁気（ハードまたはフロッピー（登録商標））ドライブ、光学記憶デバイス、または他のタイプのデータ記憶装置であることも可能であり、前述したとおり、複数のデバイスにわたって分散されることが可能である。さらに、選択された実施形態に依存して、以下により詳細に説明するとおり、メモリ６１は、メモリ計算要素を介して、またはマトリックス相互接続ネットワーク（ＭＩＮ）内部で、ＡＣＥ１００内部に含まれることも可能である。オプションとして、１つまたは複数の処理要素６５が、システム６０内部に含まれて、縮小命令セット（「ＲＩＳＣ」）処理などの任意の追加の処理機能を提供することが可能であり、あるいはＡＣＥ１００内部の計算要素として含まれることが可能である。
【００３５】
図４〜１０、およびＡＣＥ１００アーキテクチャの対応する説明を参照して、モジュール７０の使用および／または作成、ならびに図２および３に示した様々なシステムの動作を以下により詳細に説明する。
【００３６】
図４は、本発明による好ましいＡＣＥ装置１００実施形態を示すブロック図である。ＡＣＥ１００は、好ましくは、集積回路として実現され、あるいは他の追加の構成要素を有する集積回路の一部分として実現される。（ＡＣＥ１００は、関連出願においても詳細に説明している。）好ましい実施形態では、以下により詳細に説明するとおり、ＡＣＥ１００は、図示するマトリックス１５０Ａ乃至１５０Ｎのような１つまたは複数の再構成可能なマトリックス（またはノード）１５０、およびマトリックス相互接続ネットワーク（ＭＩＮ）１１０を含む。やはり好ましい実施形態では、以下により詳細に説明するとおり、マトリックス１５０Ａおよび１５０Ｂのようなマトリックスの１つまたは複数が、コントローラ１２０としての機能のために構成され、他方、マトリックス１５０Ｃおよび１５０Ｄのような他のマトリックスが、メモリ１４０としての機能のために構成される。別個のマトリックス１５０Ａ乃至１５０Ｄとして例示しているが、これらの制御機能およびメモリ機能は、例えば、処理またはメモリの「ボトルネック」、または他の制限を回避するように、追加の機能を有する複数のマトリックス１５０にわたって分散させることができ、好ましくは、分散させられる。そのような分散機能を、例えば、図５に示している。また、様々なマトリックス１５０およびマトリックス相互接続ネットワーク１１０を数ノードから数千ノードまでスケール変更することが可能なフラクタル・サブユニットとして一緒に実装することも可能である。前述したとおり、好ましい実施形態では、本発明の付属ネットワーク・エンティティ５０は、ＡＣＥ１００として、または１つまたは複数のマトリックス１５０として（対応する相互接続ネットワークとともに）実施される。
【００３７】
従来の技術から大きく離れて、ＡＣＥ１００は、再構成可能なマトリックス１５０、コントローラ１２０、およびメモリ１４０の間の通信およびその他の伝送のために、または他のＩ／Ｏ機能のために、従来の（通常、別個の）データ、ダイレクト・メモリ・アクセス（「ＤＭＡ」）バス、ランダム・アクセス・バス、構成バス、および命令バスを利用しない。代わりに、データ、制御（電力情報やタイミング情報などの）、および構成情報は、マトリックス相互接続ネットワーク１１０を利用して、これらのマトリックス１５０要素間で伝送され、ネットワーク１１０は、以下により詳細に説明するとおり、コントローラ１２０およびメモリ１４０として構成されたこれらのマトリックス１５０を含む再構成可能なマトリックス１５０の間で任意の所与の接続を提供するように構成され、再構成されることが可能である。
【００３８】
構成されると、ＭＩＮ１１０は、再構成されるまで、再構成されない限り、メモリとしても実質的に機能し、特定の機能に関する相互接続を直接に提供する。さらに、そのような構成および再構成は、特定の機能または特定の動作の使用に先立って行われること、および／またはリアルタイムで、またはより遅い速度で行われることが可能であり、すなわち、特定の機能または特定の動作の使用に先行して、使用中に、または使用と同時に行われることが可能である。さらに、そのような構成および再構成は、機能または動作の中断なしに、分散式に行われることが可能であり、１つの場所における計算要素の構成が、他の計算要素（以前に構成されている）が自らの指示された機能を同時に実行している間に行われる。ＡＣＥ１００のこの構成の柔軟性は、ＦＰＧＡ再構成と著しく対照的であり、ＥＰＧＡ再構成は、一般に、リアルタイムまたは同時にではなく、比較的ゆっくりと行われ、あらゆる動作または他の使用に先立って完全に完了されなければならない。
【００３９】
メモリ１４０として機能するように構成されたマトリックス１５０は、固定のメモリ要素の計算要素（以下に説明する）を利用して、任意の所望のやり方、または好ましいやり方で実装することができ、ＡＣＥ１００内部に含めること、または別のＩＣ、またはＩＣ（メモリ６１などの）の一部分に組み込むことができる。好ましい実施形態では、メモリ１４０は、ＡＣＥ１００内部に含められ、好ましくは、低電力消費のランダム・アクセス・メモリ（ＲＡＭ）である計算要素から構成されるが、フラッシュ、ＤＲＡＭ、ＳＲＡＭ、ＭＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、またはＥ２ＰＲＯＭなどの任意の他の形態のメモリの計算要素から構成されることも可能である。前述したとおり、このメモリ機能は、複数のマトリックス１５０にわたって分散されることも可能であり、特定のＭＩＮ１１０構成として任意の所与の時点で一時的に組み込まれることも可能である。さらに、好ましい実施形態では、メモリ１４０は、好ましくは、別個に図示していないＤＭＡエンジンを含む。
【００４０】
コントローラ１２０は、好ましくは、適応有限状態マシンとして構成されたマトリックス１５０Ａおよび１５０Ｂを使用して、縮小命令セット（「ＲＩＳＣ」）プロセッサ、コントローラ、あるいは以下に説明する２つのタイプの機能を実行することができる他のデバイスまたはＩＣとして実装される。（代替として、これらの機能は、図３の処理要素６５のような従来のＲＩＳＣまたは他のプロセッサを利用して実装されることも可能である。）この制御機能も他の追加の機能も実行する１つまたは複数のマトリックス１５０を介して分散させることが可能である。さらに、この制御機能は、別個のハードウェア・コントローラ機能なしに、構成情報の中に含め、構成情報として直接に実現することが可能である。「カーネル」制御と呼ぶ第１の制御機能をマトリックス１５０Ａのカーネル・コントローラ（「ＫＡＲＣ」）として示し、「マトリックス」制御と呼ぶ第２の制御機能をマトリックス１５０Ｂのマトリックス・コントローラ（「ＭＡＲＣ」）として図示している。コントローラ１２０のカーネル制御機能およびマトリックス制御機能は、様々なマトリックス１５０の構成可能性および再構成可能性に関連して、また、本明細書で区別することなく「シルバーウェア」または「シルバーウェア」モジュールと呼ぶモジュール７０のような結合されたデータ、構成（およびその他の制御）情報の好ましい形態に関連して以下により詳細に説明する。
【００４１】
本明細書でまとめて、全体として「相互接続（ｉｎｔｅｒｃｏｎｎｅｃｔ）」、「相互接続（ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎｓ）」、「相互接続ネットワーク」、またはＭＩＮと呼ぶ図４のマトリックス相互接続ネットワーク１１０、および図５および６に別個に示したそのサブネット相互接続ネットワーク（ブール相互接続ネットワーク２１０、データ相互接続ネットワーク２４０、および相互接続２２０）は、はるかに多様な仕方ではあるが、フィールド・プログラマブル・ゲート・アレイ（「ＦＰＧＡ」）相互接続ネットワークまたは交換ファブリックを利用するなどして、当技術分野で周知のとおり全体的に実装することができる。本明細書で使用する「フィールド・プログラミング性」とは、既存のＩＣ構造またはＩＣ機能（マイクロプロセッサ内またはＤＳＰ内などの）と対比して、実際のＩＣ機能を製造後に追加する、または変更することができることを指す。好ましい実施形態では、様々な相互接続ネットワークが、例えば、米国特許第５，２１８，２４０号明細書、米国特許第５，３３６，９５０号明細書、米国特許第５，２４５，２２７号明細書、および米国特許第５，１１４，１６６号明細書に記載され、以下に説明し、図８、９、および１０に関連して示すとおり実装される。これらの様々な相互接続ネットワークは、以下に説明するコントローラ１２０、メモリ１４０、様々なマトリックス１５０、ならびに計算ユニット２００および計算要素２５０の間の選択可能な（ルーティング可能な、または交換可能な）接続を提供し、本明細書で「構成情報」と全体的に呼び（モジュール７０内で提供される）構成通信の制御に応答して、構成通信の制御の下で、本明細書で述べる構成および再構成のための物理的基礎を提供する。さらに、様々な相互接続ネットワーク（１１０、２１０、２４０、および２２０）は、あらゆる形態の従来の、または別個の入力／出力バス、データ・バス、ＤＭＡバス、ＲＡＭバス、構成バス、および命令バスに代えて、コントローラ１２０、メモリ１４０、様々なマトリックス１５０、および計算ユニット２００、および計算要素２５０の間で選択可能な、または交換可能なデータ・パス、入力パス、出力パス、制御パス、および構成パスを提供する。
【００４２】
ただし、様々な相互接続ネットワーク（１１０、２１０、２４０、および２２０）の、またはそれらのネットワーク内の任意の所与の交換動作または選択動作を当技術分野で周知のとおり実装することができるが、本発明による様々な相互接続ネットワーク（１１０、２１０、２４０、および２２０）の設計およびレイアウトは、以下に説明するとおり、新しく、革新的であることを指摘しておかなければならない。例えば、様々なレベルの相互接続が、以下に説明する様々なレベルのマトリックス１５０、計算ユニット２００、および計算要素２５０に対応するように提供される。マトリックス１５０レベルにおいて、従来技術のＦＰＧＡ相互接続と比べて、マトリックス相互接続ネットワーク１１０は、所与の領域においてより少ない接続能力を有して、はるかに制限され、それほど「豊か」ではなく、キャパシタンスを縮小し、動作の速度を向上させている。ただし、特定のマトリックス１５０内または計算ユニット２００内で、相互接続ネットワーク（２１０、２２０、および２４０）は、はるかに密度が高く、豊かであり、参照の狭い局所内または密集した局所内でより高い適応能力および再構成能力を提供することが可能である。
【００４３】
様々なマトリックスまたはノード１５０は、再構成可能であり、異質であり、すなわち、一般に、所望の構成に依存して、再構成可能なマトリックス１５０Ａは、一般に、再構成可能なマトリックス１５０Ｂ乃至１５０Ｎとは異なり、再構成可能なマトリックス１５０Ｂは、一般に、再構成可能なマトリックス１５０Ａおよび１５０Ｃ乃至１５０Ｎとは異なり、再構成可能なマトリックス１５０Ｃは、一般に、再構成可能なマトリックス１５０Ａ、１５０Ｂ、および１５０Ｄ乃至１５０Ｎとは異なるといった具合である。様々な再構成可能なマトリックス１５０はそれぞれ、一般に、適応的で再構成可能な計算（または演算）ユニット（２００）の異なる組み合わせ、または様々な組み合わせを含み、計算ユニット２００は、一般に、様々な相互接続ネットワークを介して様々な機能を実行するように様々な形で適応するように接続、構成、および再構成を行うことができる図４、５、および６に関連して以下により詳細に説明する固定の特定用途向け計算要素（２５０）の異なる組み合わせ、または様々な組み合わせを含む。様々な内部構成および内部再構成に加えて、やはり以下により詳細に説明するとおり、マトリックス相互接続ネットワーク１１０を介して、様々なマトリックス１５０を他のマトリックス１５０のそれぞれに対してより高いレベルで接続すること、構成すること、および再構成することも可能である。
【００４４】
いくつかの異なる洞察に富み、革新的な概念が本発明のＡＣＥ１００アーキテクチャ内部に組み込まれており、ＡＣＥ１００のリアルタイムの動作、およびその本質的な利点の有用な説明の基礎を提供する。
【００４５】
本発明の第１の革新的な概念は、特定用途向けのハードウェア・ユニット、専用のハードウェア・ユニット、または固定のハードウェア・ユニット（計算要素２５０）の適応的で再構成可能な使用、ならびに対応する乗算機能、複素乗算機能、および加算機能の最適な実行のためにそれぞれが設計された複数の乗算器、複素乗算器、および加算器などの、マトリックス１５０の計算要素２００（図５）内部のそれらの特定用途向けのハードウェア・ユニット、専用のハードウェア・ユニット、または固定のハードウェア・ユニット（計算要素２５０）の内部に含められる加速のための特定の機能の選択に関わる。ＡＣＥ１００は、好ましい実施形態では、低電力消費に合わせて最適化されることから、加速のための機能は、電力消費に基づいて選択される。例えば、モバイル通信などの所与の用途に関して、対応するＣ（またはＣ＋＋）またはその他のコードが、電力消費に関して解析されることが可能である。そのような実証的な解析により、例えば、そのようなコードの１０％のような小さい部分が、実行された際、実際には、動作電力の９０％を消費することが明らかにされることが可能である。本発明によれば、そのような電力利用率に基づき、コードのその小さい部分が、あるタイプの再構成可能なマトリックス１５０内部で加速のために選択され、残りのコードは、例えば、コントローラ１２０として構成されたマトリックス１５０内部で実行されるように適合される。追加のコードが加速のために選択されることも可能であり、設計上の複雑さ、または動作上の複雑さからもたらされる可能性があるトレードオフまで、ＡＣＥ１００による電力消費の最適化がもたらされる。さらに、図５に関連して説明したとおり、制御コードなどの他の機能が、マトリックス１５０が有限状態マシンとして構成される際に、マトリックス１５０内部で加速されることが可能である。様々なレベルの相互接続を介して、対応するアルゴリズムが、任意の所与の時点で、固定の計算要素（２５０）の構成および再構成を介して実装され、すなわち、効率のために最適化され、構成されたハードウェア内部、すなわち、特定のアルゴリズムを実行するように最適化されたリアルタイムで構成された「マシン」内部で実装される。
【００４６】
本発明の次の、おそらく最も重要な概念であり、従来の技術の概念および指示規則から際立って離れているのが、前述した様々な選択されたアルゴリズムを実装するのに利用される再構成可能な「異質性」の概念である。関連出願で示すとおり、従来技術の再構成可能性は、論理ゲートの全く同じブロックが豊かなプログラマブル相互接続内のアレイとして繰り返され、相互接続が、後に、非効率的で、しばしば、ルーティング問題および組み合わせ上の問題を伴うが、特定の機能を実装するように全く同じゲート間で接続を提供するように構成される同質のＦＰＧＡだけに依拠していた。これとは明らかに対照的に、本発明によれば、計算ユニット２００内部で、異なる計算要素（２５０）が、専用の乗算器、複素乗算器、および加算器などの対応する固定の（または専用の）特定用途向けハードウェアとして直接に実装される。相互接続（２１０および２２０）を利用して、これらの異なる異質性計算要素（２５０）を前もって、リアルタイムで、または、場合によりより遅い速度で適応する形で構成して、モバイル通信においてしばしば利用される離散コサイン変換の実行などの選択されたアルゴリズムを実行することができる。この結果、本発明によれば、異なる（「異質性」）計算要素（２５０）が、任意の所与の時点で構成され、再構成されて所与のアルゴリズムまたは他の機能が最適に実行される。さらに、繰り返しの多い機能に関して、計算要素の所与の実例または構成が、時を経ても配備されたままになる、すなわち、そのような反復の多い計算の過程の終りまで変更されないことも可能である。所与の構成のそのような一時的な安定性が、例えば、ループ・フィールド（前述した）を介してモジュール７０内で示されることが可能であり、あるいは、同じ計算要素の別の（競合する）構成を提供しないことにより、単に配備されたままにされることが可能である。
【００４７】
ＡＣＥ１００アーキテクチャの一時的な性質にも留意しなければならない。任意の所与の時点において、異なるレベルの相互接続（１１０、２１０、２４０、および２２０）を利用して、特定の構成が、所与の機能を実行するように、またはモバイル局３０または３２のＣＤＭＡ動作モードに関するパイロット信号探索を実装するなどの、特定のアルゴリズムを実装するように最適化されたＡＣＥ１００内部で存在することが可能である。別の時点で、構成が変更されて、ＣＤＭＡ動作モードに関するマルチパス受信などの別の機能またはアルゴリズムの実行のために、他の計算要素（２５０）が相互接続される、または同じ計算要素２５０が異なった形で接続されることが可能である。この一時的な再構成可能性から２つの重要な特徴がもたらされる。第１に、アルゴリズムが、時を経て、例えば、新しい技術標準を実装するように変更されることが可能であるため、ＡＣＥ１００は、その新しいアルゴリズムを実装するように同時に進化し、再構成されることが可能である。第２に、計算要素が、ある時点で所与のアルゴリズムの実例として相互接続され、次に、別の異なるアルゴリズムの実行のために別の時点で再構成されるため、ゲート（またはトランジスタ）利用率が最大化され、活動率に関して最も効率的なＡＳＩＣよりも大幅に優れた性能が提供される。また、この一時的な再構成可能性により、前述したＭＩＮ１１０に本質的なメモリ機能も説明される。
【００４８】
また、様々な異なるアルゴリズムの実行に合わせた計算要素２５０のこの一時的な再構成可能性により、一方の構成および再構成と、他方のプログラミング性または再プログラミング性の間の本明細書で使用する区別も説明される。通常のプログラミング性は、既存のグループまたはセットの機能を利用し、このグループまたはセットの機能を時の経過のなかで様々な順序で呼び出して、特定のアルゴリズムを実装することができる。これに対して、本明細書で使用する構成可能性および再構成可能性は、以前に利用できなかった、または存在しなかった新たな機能を追加する、または生成する追加の能力を含む。
【００４９】
次に、本発明は、複数のパケット内、または１つの実質的に連続する情報ストリーム内のデータと構成（または他の制御）情報の緊密な結合（または嵌合）も利用する。「シルバーウェア」または「シルバーウェア」モジュールと呼ぶデータと構成情報のこの結合または混合を図１に示している。データと構成情報を連続的であることも、パケットに分割することも可能な１つの情報（またはビット）ストリームにするこの結合は、従来の技術のハードウェア相互接続の（しばしば使用されない）複数の重なり合うネットワークを必要とせずに、ＡＣＥ１００のリアルタイムの再構成可能性を可能にするのに役立つ。例えば、喩えとして、特定の第１の期間における、その第１の期間中、または第１の期間後に対応するアルゴリズムを実行するハードウェアとしての計算要素２５０の第１の構成は、同じアルゴリズムを実行することができるソフトウェア内のサブルーチンを「呼び出すこと」のハードウェア類似物と見なす、または概念化することができる。このため、構成情報（の第１のサブセット）によって指示されるとおり計算要素２５０の構成が行われると（すなわち、配備されると）、アルゴリズムにおいて使用するためのデータが、シルバーウェア・モジュールの一部として即時に利用可能である。図１を参照すると、これが、様々な構成を「呼び出し」（例えば、構成「Ａ」および「Ｂ」に関してフィールド８０内および８１内のリファレンスまたはフラグを介して）、直後に、それらの構成において使用するためのデータを提供する（構成「Ａ」に関してフィールド８３および８４、構成「Ｂ」に関してフィールド８６および８７）ことによって示されている。次に、同じ計算要素２５０を、やはり即時に利用可能なデータを利用して、第２の異なるアルゴリズムの実行のために、第２の構成情報（すなわち、構成情報の第２のサブセット）によって指示されるとおり、第２の期間にわたって再構成することができる。構成された計算要素２５０内で使用するためのデータの即時性により、メモリ・アドレスを特定し、アドレス指定されたレジスタから記憶済みのデータをフェッチする複数の別個のソフトウェア工程に対する１クロック・サイクルまたは複数クロック・サイクルのハードウェア類似物が提供される。これは、構成された計算要素２５０が、比較的少ないクロック・サイクル数で、従来のマイクロプロセッサ内またはデジタル信号プロセッサ（「ＤＳＰ」）内のサブルーチンとして呼び出された場合、実行に桁違いに多いサイクル数を要する可能性があるアルゴリズムを実行することができるので、追加の効率のさらなる結果を有する。
【００５０】
データと構成情報の混合としてのモジュール７０などのシルバーウェア・モジュールのこの使用が、適応的な異なる異質性計算ユニット２００およびマトリックス１５０を形成する複数の異質で固定の計算要素２５０の再構成可能性と相俟って、ＡＣＥ１００アーキテクチャが複数の異なる動作モードを有することを可能にする。例えば、ハンドヘルド・デバイス内部に含められる場合、対応するシルバーウェア・モジュールが与えられると、ＡＣＥ１００は、セルラー電話機またはその他のモバイル電話機、音楽プレーヤ、ページャ、パーソナル・デジタル・アシスタント、および他の新しい機能または既存の機能として様々な異なる動作モードを有することが可能である。さらに、これらの動作モードをデバイスの物理的場所に基づいて変更することができる。例えば、本発明によれば、ＡＣＥ１００は、第１のセットの構成情報を使用して、米国内で使用するためのＣＤＭＡモバイル電話機としての第１の動作モードに合わせて構成されているが、第２のセットの構成情報を使用して、欧州内で使用するためのＧＳＭモバイル電話機としての動作モードに合わせて再構成されることが可能である。
【００５１】
図４を再び参照して、コントローラ１２０（好ましくは、有限状態マシンとして構成されたマトリックス（ＫＡＲＣ）１５０Ａおよびマトリックス（ＭＡＲＣ）１５０Ｂ）を（１）シルバーウェア・モジュールに関連して、すなわち、単一の情報ストリーム内のデータと構成情報の緊密な結合に関連して、（２）複数の可能な動作モードに関連して、（３）再構成可能なマトリックス１５０に関連して、（４）図５に示した再構成可能な計算ユニット２００および計算要素２５０に関連して説明することができる。前述したとおり、シルバーウェア・モジュールを介して、ＡＣＥ１００は、新しい技術標準へのアップグレード、あるいはモバイル通信デバイスに対する音楽機能の追加などの完全に新しい機能の追加などの新しい機能または追加の機能を実行するように構成する、または再構成することができる。そのようなシルバーウェア・モジュールは、メモリ１４０のマトリックス１５０の中に記憶すること、または、例えば、マトリックス相互接続ネットワーク１１０を介して、外部（有線または無線）ソースから入力することができる。好ましい実施形態では、複数のマトリックス１５０の１つが、セキュリティ目的で、そのようなモジュールを復号化し、モジュールの妥当性を検証するように構成される。次に、既存のＡＣＥ１００リソースのあらゆる構成または再構成に先立ち、コントローラ１２０が、マトリックス（ＫＡＲＣ）１５０Ａを介して、音楽機能の追加により、既存のモバイル通信機能が悪影響を受けないかどうかなどの、既存の機能に悪影響を与えることなく構成または再構成を行うことが可能であることを検査し、検証する。好ましい実施形態では、そのような構成または再構成に関するシステム要件は、以上の評価機能を実行する際にマトリックス（ＫＡＲＣ）１５０Ａが使用するために、シルバーウェア・モジュール内または構成情報内に含められる。構成または再構成をそのような悪影響なしに行うことができる場合、シルバーウェア・モジュールがマトリックス１５０（メモリ１４０の）にロードされることが許され、マトリックス（ＫＡＲＣ）１５０Ａが、メモリ１４０のマトリックス１５０Ｃおよび１５０Ｄの内部のＤＭＡエンジン（または従来のメモリの独立型ＤＡＭ）をセットアップする。構成または再構成により、そのような悪影響がもたらされる、またはもたらされる可能性がある場合、マトリックス（ＫＡＲＣ）１５０Ａは、その新しいモジュールがＡＣＥ１００内部に組み込まれることを許さない。
【００５２】
図４の参照を続けると、マトリックス（ＭＡＲＣ）１５０Ｂが、マトリックス１５０リソースのスケジューリング、対応するデータのクロック制御およびタイミングを管理して、様々な計算要素２５０および計算ユニット２００の構成または再構成を対応する入力データおよび出力データと同期させている。好ましい実施形態では、タイミング情報またはその他のクロック制御情報もシルバーウェア・モジュール内部に含められて、マトリックス（ＭＡＲＣ）１５０Ｂが、様々な相互接続ネットワークを介して、様々なマトリックス１５０の再構成を時を違えずに、好ましくは、ジャストインタイムで、様々な再構成される計算ユニット２００の入力に対応するデータが出現する前に行われるように指示することを可能にする。さらに、マトリックス（ＭＡＲＣ）１５０Ｂは、様々なマトリックス１５０のいずれの内部でも加速されていない任意の残りの処理も行うことができる。
【００５３】
このタイミング情報は、例えば、図１のモジュール７０内に示したフィールド８０、８１、８５、および８９内のリファレンスまたはフラグとして実現されて、対応するデータ（フィールド８４、８７、９１、９３、９５、および９７）の着信に先立って様々な構成を「呼び出す」ことが可能である。モバイル通信などにおいて、ユーザ・データに先立って、ユーザ・データとは別個に構成情報がＡＣＥ１００に提供された場合などの他の状況では、この情報は、例えば、ユーザ・データ・ストリームが伝送またはダウンロードされる際に、その中に注入または挿入されて、対応するユーザ・データの受信に先立って適切な構成が「呼び出される」ことが可能である。他の状況では、マトリックス（ＭＡＲＣ）１５０Ｂ自体が、リアルタイムで、様々な他のマトリックス１５０によって処理されているデータ・ストリームの中にそれらの構成リファレンスまたは構成フラグを挿入して、適切な計算要素２５０を「呼び出し」、構成することが可能である。さらに、マトリックス（ＭＡＲＣ）１５０Ｂは、様々なマトリックス１５０内部の構成情報およびユーザ・データ（図１にフィールド７２、７４、７６、７８、８３、８６、８８、９０、９２、９４、および９６として示す）の自己ルーティングのために、構成およびデータのルーティング情報を提供し、挿入することもでき、電力制御フィールド（フィールド８２）（ＩＣのあらゆる計算要素に独立にクロック制御（オンまたはオフ）を提供する）、および情報タイプおよびループ命令のためのフィールド９８および９９などのモジュール７０を生成する他のフィールドを提供し、挿入することもできる。このため、ＡＣＥ１００にモジュール７０が直接に提供されておらず、ユーザ・データとは別個に構成情報が提供されている場合、マトリックス（ＭＡＲＣ）１５０Ｂが、適切な動作モードを生成し、ユーザ・データ（着信または発信の）を使用する、または処理するようにその他のマトリックス１５０を構成する際に使用するため、そのようなモジュール７０を実質的に生成する。
【００５４】
このため、マトリックス（ＭＡＲＣ）１５０Ｂは、リアルタイムで、様々な再構成可能なハードウェア・ユニットによって利用されるあらゆる対応するデータと同期して、または協調して、マトリックス１５０、計算ユニット２００、および計算要素２５０の構成および再構成を「呼び出し」、残りの制御処理または他の制御処理を行う制御ユニットと見なすことができる。他のマトリックス１５０も、この制御機能を含むことが可能であり、任意の所与のマトリックス１５０が、その他のマトリックス１５０の構成および再構成を呼び出すこと、および制御することができる。
【００５５】
図５は、複数の計算ユニット２００（計算ユニット２００Ａ乃至２００Ｎとして示す）、および複数の計算要素２５０（計算要素２５０Ａ乃至２５０Ｚとして示す）を有する再構成可能なマトリックス１５０をより詳細に示すブロック図であり、好ましいタイプの計算要素２５０のさらなる例示を提供している。図５に示すとおり、いずれのマトリックス１５０も、一般に、マトリックス・コントローラ２３０、複数の計算（または演算）ユニット２００を含み、マトリックス相互接続ネットワーク１１０の論理上または概念上のサブセットまたは部分として、データ相互接続ネットワーク２４０およびブール相互接続ネットワーク２１０を含む。前述したとおり、好ましい実施形態では、ＡＣＥ１００アーキテクチャ内部で「深度」が増すにつれ、相互接続ネットワークは、より高いレベルの適応性および再構成のためにますます豊かになる。ブール相互接続ネットワーク２１０は、やはり前述したとおり、様々な計算ユニット２００の間で再構成およびデータ相互接続の能力を提供し、好ましくは、小さく（すなわち、数ビットだけの幅）、他方、データ相互接続ネットワーク２４０は、様々な計算ユニット２００の間でデータ入力およびデータ出力のための再構成およびデータ相互接続の能力を提供し、好ましくは、比較的大きい（すなわち、多数のビットの幅）。ただし、再構成能力およびデータ能力に概念上、分けているが、マトリックス相互接続ネットワーク１１０の任意の所与の物理部分は、任意の所与の時点で、ブール相互接続ネットワーク２１０として、データ相互接続ネットワーク２４０として、最低レベルの相互接続２２０（様々な計算要素２５０間の）として、あるいは他の入力機能、出力機能、または接続機能として動作することが可能であることに留意されたい。
【００５６】
図５の参照を続けると、計算ユニット２００内部に、計算要素２５０Ａ乃至２５０Ｚ（個々にも、まとめても計算要素２５０と呼ぶ）として示した計算ユニット２００、および追加の相互接続２２０が含まれている。相互接続２２０は、様々な計算要素２５０の間で再構成可能な相互接続の能力、および入力／出力パスを提供する。前述したとおり、様々な計算要素２５０のそれぞれは、所与のタスクまたは所与の範囲のタスクを実行するように設計された専用の特定用途向けハードウェアから構成され、複数の異なる固定の計算要素２５０をもたらす。相互接続２２０を利用して、固定の計算要素２５０を再構成可能な形で一緒に接続して、適応的で多様な計算ユニット２００にすることができ、計算ユニット２００も、相互接続２２０、ブール・ネットワーク２１０、およびマトリックス相互接続ネットワーク１１０を利用して、さらに再構成し、相互接続して、任意の所与の時点でアルゴリズムまたはその他の機能を実行させることができる。
【００５７】
好ましい実施形態では、様々な計算要素２５０が一緒に設計され、グループ化されて、様々な適応的で再構成可能な計算ユニット２００（例えば、図６乃至１０に示す）になる。乗算、相関、または加算などの特定のアルゴリズムまたは機能を実行するように設計された計算要素２５０に加えて、好ましい実施形態では、他のタイプの計算要素２５０も利用される。図５に示すとおり、計算要素２５０Ａおよび２５０Ｂが、メモリを実装して、任意の所与の計算機能または処理機能のためのローカル・メモリ要素（より「遠隔の」メモリ１４０と対比される）を提供する。さらに、計算要素２５０Ｉ、２５０Ｊ、２５０Ｋ、および２５０Ｌは、有限状態マシンを実装するように構成され（例えば、図８、９、および１０に示した計算要素を使用して）、複雑な制御処理に特に適したローカルの処理能力（より「遠隔の」マトリックス（ＭＡＲＣ）１５０Ｂと対比される）を提供する。
【００５８】
ＡＣＥ１００の所望の機能に応じて利用できる可能性がある異なる計算要素２５０の様々なタイプで、計算ユニット２００を緩やかに分類することができる。計算ユニット２００の第１のカテゴリは、乗算、加算、有限インパルス応答濾波等の線形演算を実行する計算要素２５０を含む（例えば、図７に関連して以下に例示するとおり）。第２のカテゴリの計算ユニット２００は、離散コサイン変換、三角法計算、および複素乗算などの非線形演算を実行する計算要素２５０を含む。第３のタイプの計算ユニット２００は、複雑な制御シーケンス、動的スケジューリング、および入力／出力の管理に特に役立つ（図５に示し、図８乃至１０に関連して以下により詳細に示す）計算ユニット２００Ｃのような有限状態マシンを実装し、第４のタイプは、図５に示すとおり、計算ユニット２００Ａのようなメモリ、およびメモリ管理を実装することが可能である。最後に、第５のタイプの計算ユニット２００が、暗号化、復号化、チャネル符号化、ビタビ復号化、パケット処理およびプロトコル処理（インターネット・プロトコル処理などの）、ならびにその他のタイプの処理および機能などのためのビット・レベル操作を行うように含められることが可能である。
【００５９】
好ましい実施形態では、他のマトリックスまたはノード１５０からの制御に加えて、マトリックス・コントローラ２３０も、任意の所与のマトリックス１５０内部に含められ、またはその内部で分散され、あらゆる再構成プロセスとあらゆる対応するデータ操作の参照および制御のより高い局所性も提供することが可能である。例えば、計算要素２５０の再構成が任意の所与の計算ユニット２００内部で行われると、マトリックス・コントローラ２３０は、その特定の実例（または構成）が、ある期間にわたってそのまま残されて、例えば、所与のアプリケーションに関する繰り返しの多いデータ処理を続けるようにすることを指示することができる。
【００６０】
図６は、本発明による再構成可能なマトリックス１５０の例示的な、または代表的な計算ユニット２００をより詳細に示すブロック図である。図６に示すとおり、計算ユニット２００は、通常、複数のメモリ計算要素２５０Ａおよび２５０Ｂなどの複数の多様で異質性の固定の計算要素２５０を含み、計算ユニット（「ＣＵ」）コア２６０を形成して、複数のアルゴリズム計算要素または有限状態マシン計算要素２５０Ｃ乃至２５０Ｋを含む。前述したとおり、複数の多様な計算要素２５０の各計算要素２５０は、加算または乗算などの特定の機能またはアルゴリズムを実行するように設計され、対応する論理ゲート・レイアウトを有する固定の、または専用の特定用途向け回路である。さらに、様々なメモリ計算要素２５０Ａおよび２５０ＢをＲＡＭ（相当な深度を有する）として、または１ビットまたは２ビットの深度を有するレジスタとしてなど、様々なビット深度で実装することができる。
【００６１】
概念データ・ネットワーク２４０およびブール相互接続ネットワーク２１０を形成して、例示的な計算ユニット２００は、複数の入力マルチプレクサ２８０、複数の入力線（またはワイヤ）２８１も含み、ＣＵコア２６０（線またはワイヤ２７０として示す）の出力に対して複数の出力デマルチプレクサ２８５および２９０、および複数の出力線（またはワイヤ）２９１も含む。入力マルチプレクサ２８０を介して、データ変換、ならびに構成プロセスおよび相互接続プロセスにおいて入力用のために適切な入力線２８１を選択することができ、出力デマルチプレクサ２８５および２９０を介して、やはり追加のデータ変換、ならびに構成プロセスおよび相互接続プロセスで使用ために、出力または複数の出力を選択された出力線２９１上に配置することができる。
【００６２】
好ましい実施形態では、様々な入力線２８１および出力線２９１の選択、および相互接続（２１０、２２０、および２４０）を介する様々な接続の生成は、以下に説明するとおり、計算ユニット・コントローラ２５５からの制御ビット２６５の制御下にある。その制御ビット２６５に基づき、様々な入力イネーブル２５１、入力選択２５２、出力選択２５３、ＭＵＸ選択２５４、ＤＥＭＵＸイネーブル２５６、ＤＥＭＵＸ選択２５７、およびＤＥＭＵＸ出力選択２５８のいずれかが活動化または非活動化されることが可能である。
【００６３】
例示的な計算ユニット２００は、制御ビット２６５を介して、それぞれの計算要素２５０、相互接続（２１０、２２０、および２４０）、およびその他の要素（上記の）が毎クロック・サイクルで何を行うかを支配する計算ユニット・コントローラ２５５を含む。別個に示していないが、相互接続（２１０、２２０、および２４０）を介して、様々な入力イネーブル２５１、入力選択２５２、出力選択２５３、ＭＵＸ選択２５４、ＤＥＭＵＸイネーブル２５６、ＤＥＭＵＸ選択２５７、およびＤＥＭＵＸ出力選択２５８などの様々な制御ビット２６５が、必要に応じて、制御ユニット２００の様々な部分に配信される。ＣＵコントローラ２５５は、制御（または構成）情報の受信、およびステータス情報の送信のための１つまたは複数の線２９５も含む。
【００６４】
前述したとおり、相互接続は、前述した様々なビット幅のデータ相互接続ネットワーク２４０とブール相互接続ネットワーク２１０への概念上の分割を含むことが可能である。一般に、構成可能な接続および再構成可能な接続を生成するため、データおよび構成情報の対応するルーティングのために（より幅のある）データ相互接続ネットワーク２４０が利用される。（より狭い）ブール相互接続ネットワークも構成可能な接続および再構成可能な接続を生成するために利用されるが、データフロー・グラフ（ＤＦＧ）の論理（またはブール）決定の制御のために利用されて、そのようなＤＦＧにおける決定ノードを生成し、そのようなＤＦＧ内のデータ・ルーティングのために使用されることも可能である。
【００６５】
図７は、本発明による複数の異なる固定の計算要素を有する例示的な好ましい多機能適応計算ユニット５００を詳細に示すブロック図である。相応に構成された場合、適応計算ユニット５００は、有限インパルス応答濾波、高速フーリエ変換などの関連出願において説明した多種多様な機能、ならびに通信動作モードに役立つ離散コサイン変換などの他の機能を実行する。図示するとおり、この多機能適応計算ユニット５００は、入力メモリ５２０、データ・メモリ５２５、レジスタ５３０（レジスタ５３０Ａ乃至５３０Ｑとして示す）、乗算器５４０（乗算器５４０Ａ乃至５４０Ｄとして示す）、加算器５４５、第１の演算論理ユニット（ＡＬＵ）５５０（ＡＬＵ＿１  ５５０Ａ乃至５５０Ｄとして示す）、第２の演算論理ユニット（ＡＬＵ）５５５（ＡＬＵ＿２  ５５５Ａ乃至５５５Ｄとして示す）、およびパイプライン（長さ１）レジスタ５６０を含む複数の固定の計算要素の複数の構成に関する能力を含み、入力５０５、線５１５、出力５７０、およびマルチプレクサ（ＭＵＸおよびＭＸ）５１０（ＭＵＸおよびＭＸ５１０Ａ乃至５１０ＫＫとして示す）が相互接続ネットワーク（２１０、２２０、および２４０）を形成している。２つの異なるＡＬＵ５５０および５５５は、好ましくは、例えば、離散コサイン変換における基数２の演算に特に役立つ並列の加算および減算の演算のために利用される。
【００６６】
図８は、本発明による複数の固定の計算要素を有する好ましい適応論理プロセッサ（ＡＬＰ）計算ユニット６００を詳細に示している。ＡＬＰ６００は、適応性が高く、好ましくは、入力／出力構成、有限状態マシン実装、一般的なフィールド・プログラミング性、およびビット操作のために利用される。ＡＬＰ６００の固定の計算要素は、図１０に別個に示すとおり、複数の適応コア・セル（ＣＣ）６１０（図９）のそれぞれの一部分（６５０）である。複数の垂直入力（ＶＩ）６１５、垂直リピータ（ＶＲ）６２０、垂直出力（ＶＯ）６２５、水平リピータ（ＨＲ）６３０、水平ターミネータ（ＨＴ）６３５、および水平コントローラ（ＨＣ）６４０の様々な組み合わせ、および並べ替えから、相互接続ネットワーク（２１０、２２０、および２４０）が形成される。
【００６７】
図９は、本発明による固定の計算要素６５０を有する適応論理プロセッサ計算ユニット６００の好ましいコア・セル６１０をより詳細に示すブロック図である。固定の計算要素は、図１０に別個に示した３入力−２出力の機能ジェネレータ５５０である。好ましいコア・セル６１０は、制御論理６５５、制御入力６６５、制御出力６７０（出力相互接続を提供する）、出力６７５、および入力（相互接続ＭＵＸを提供する）６６０（入力相互接続を提供する）も含む。
【００６８】
図１０は、本発明による適応論理プロセッサ計算ユニット６００のコア・セル６１０の好ましい固定の計算要素６５０をより詳細に示すブロック図である。固定の計算要素６５０は、３つの入力７２０および２つの出力７１０を有する複数の排他ＮＯＲ（ＸＯＲ）ゲート６８０、ＮＯＲゲート６８５、ＮＡＮＤゲート６９０、および排他ＯＲ（ＸＯＲ）ゲート６９５の固定のレイアウトから構成される。構成および相互接続は、ＭＵＸ７０５および相互接続入力７３０を介して提供される。
【００６９】
以上の説明から明白なとおり、様々なレベルの相互接続（１１０、２１０、２４０、および２２０）を介して、異質性計算ユニット（２００）を形成するように構成し、再構成することができ、異質性マトリックス１５０を形成するように構成し、再構成することがさらに可能である複数の固定の異質性計算要素（２５０）のこの使用により、適応計算アーキテクチャまたは適応計算エンジンと同義で呼ぶことができる全く新しいクラスまたはカテゴリの集積回路が生成される。本発明の適応コンピューティング・アーキテクチャは、ＦＰＧＡ、ＡＳＩＣ、またはプロセッサの部類またはカテゴリの範囲内における概念上の視点または命名法の視点からは十分に特徴を述べることができないことに留意されたい。例えば、適応コンピューティング・アーキテクチャの非ＦＰＧＡの特徴は、適応コンピューティング・アーキテクチャが同一の論理ユニットのアレイ、または単に、任意の種類の繰り返されるアレイを含まないため直ちに明白である。また、例えば、適応コンピューティング・アーキテクチャの非ＡＳＩＣの特徴は、適応コンピューティング・アーキテクチャが特定用途向けではなく、複数の機能モードを提供し、好ましくは、リアルタイムで再構成可能であるため、直ちに明白である。この例を続けると、適応コンピューティング・アーキテクチャの非プロセッサの特徴は、適応コンピューティング・アーキテクチャが、命令を実行することに集中して、データ操作が副産物として行われるのではなく、データを直接に処理するように構成されるため、直ちに明白である。
【００７０】
図１および２を再び参照すると、本発明の様々なシステムおよび方法を、次に、構成情報の１つまたは複数のセットに応答した固定の計算要素２５０の構成および／または再構成に基づき、ＡＣＥ１００アーキテクチャの文脈において見ることができる。「さらに何か」の構成情報なしでは、ＡＣＥ１００は、基本的に、または実質的に、空の、または「空白の」デバイスである。無線通信、ラジオ受信、またはＭＰ３音楽再生などの所望の機能を提供し、対応するデータを処理するためにＡＣＥ１００の１つまたは複数の動作モードを生成する構成を生成するのに構成情報が必要である。
【００７１】
そのような構成および再構成は、多種多様な仕方で行われることが可能である。例えば、ＡＣＥ１００全体は、モバイル通信デバイスとしてあらかじめ構成されるなど、あらゆる特定の使用に先立って構成されることが可能である。他の実施形態では、ＡＣＥ１００は、オペレーティング・システムが、電源オン（ブート）し、ネットワーク４０を介するなどして、特定の動作モードおよび機能に関する他の構成を獲得し、ロードすることをさせるように構成されることが可能である。また、ＡＣＥ１００は、部分的に構成されていて、一部のマトリックス１５０が構成され、動作しており、他のマトリックス１５０は、他の機能に合わせて構成されていることも可能である。
【００７２】
ＡＣＥ１００内部のそのようなオペレーティング・システムにより、様々な自動機能が提供されることが可能である。例えば、そのようなＯＳは、ルーティング・フィールドおよびルーティング情報を構成情報とともにデータ・ストリームに挿入して、自動ルーティングを提供して、シルバーウェア・モジュールを内部で生成することが可能である。オペレーティング・システムは、例えば、ニューラル・ネットワーク技術または他の自己学習技術を使用して、自己構成または自己変更を行う手段も提供することができる。その他のオペレーティング・システム機能には、以下に説明する許可機能、セキュリティ機能、ハードウェア能力決定機能、およびその他の機能が含まれる。
【００７３】
前述したとおり、そのような構成情報をデータとインターリーブして、実行可能モジュール７０などのシルバーウェア（またはシルバーウェア・モジュール）を形成することができる。さらに、そのような構成情報は、いずれのデータとも分離していることも可能である（実質的に、モジュール７０を時間にわたって分散させて）。例えば、第１のセットの構成情報が、モバイル通信のためなど、第１の動作モードのためにＡＣＥ１００に提供されることが可能である。音声データなどのデータが、後に、任意の所与の通信セッション中に別個に提供されることが可能である。次に、ＡＣＥ１００の様々なコントローラ１２０機能が、構成情報の適切なサブセットを対応するデータ、ルーティング、構成リファレンス、ループ命令、および電力制御とインターリーブして、マトリックス１５０にシルバーウェア・モジュールが提供される。前述したとおり、そのようなコントローラ機能は、様々なマトリックス１５０内に分散されること、または構成情報自体の中に組み込まれることが可能である。
【００７４】
図２を参照すると、ＡＣＥ１００が、複数のソースから構成情報、またはシルバーウェア・モジュール（７０）全体を獲得することができる。図２に示すとおり、構成情報、または１つまたは複数の完全なモジュール７０が、例えば、ネットワーク４０（適切な仲介するスイッチ５６および５２、ならびに基地局２５を有する）、またはルータ５３を介して、サーバ５４、ＷＡＮ４２、ＬＡＮ４１、または付属ネットワーク・エンティティ５０からダウンロードを通じてＡＣＥ１００に提供されることが可能である。ダウンロードは、有線（例えば、撚線対、光ファイバ、同軸ケーブル、混成光ファイバ−同軸ケーブル）であるか、または、基地局２５、またはサテライト（図示せず）、または無線ＬＡＮ４３のトランシーバを介するなど、無線であることが可能である。また、構成情報、または１つまたは複数の完全なモジュール７０は、例えば、フラッシュ・メモリ１０、シルバーウェア記憶媒体１５、コンピュータ可読媒体または他のマシン可読媒体２０、ＰＣＭＣＩＡカード、ＰＤＡモジュール、または他のメモリ・カードを介してＡＣＥ１００に提供されることも可能である。この構成情報、または１つまたは複数の完全なモジュール７０は、好ましいＡＣＥ１００の実施形態では、様々なマトリックス１５０内部の分散メモリであるメモリ１４０の中に記憶され、あるいはシステム６０（ＳＯＣ）の実施形態では、メモリ６１の中に記憶されることも可能である。また、構成情報も、単にマトリックス１５０の実際の構成として記憶されることが可能であり、ＭＩＮ１１０が、実質的にメモリとして機能する。また、構成情報は、特定のアプリケーションまたは単独の用途のためにリアルタイムで配信され、受信されて、過渡的であることも可能である。他の等価の設備および記憶手段は、当分野の技術者には明白であろう。（ダウンロードまたは他の媒体を介して構成情報、または１つまたは複数の完全なモジュールを受け取るＡＣＥ１００を本明細書で一般的に「受信側ＡＣＥ」と呼ぶ。）
【００７５】
さらに、システム・ユーザ、インフラストラクチャの要素、ＡＣＥ１００、ＡＣＥ１００を含む別のデバイス、または独立のデバイスを含め複数のソースから、そのような構成情報のニーズまたは要求が生じることも可能である。例えば、システム・ユーザが、デバイスを新しい標準にアップグレードするように新しい構成情報のダウンロードを要求することができ、あるいは、追加の著作権で保護されたＭＰ３音楽を再生するための新たな構成情報、または新たな１つまたは複数の完全なモジュール７０を含むメモリ・モジュール（フラッシュ１０、またはシルバーウェア記憶媒体１５などの）を購入することができる。また、インフラストラクチャ要素が、個別のＡＣＥ１００デバイス（プロバイダと受け手の１対１（１：１）対応が存在して、単一のユーザ）に伝送されるか、多くのＡＣＥ１００デバイス（プロバイダと受け手の１対多（１：多）対応が存在して、複数のユーザ）にブロードキャストされる新しい構成のダウンロードを開始して、システム・アップグレードを提供すること、新しい標準に適合させること、または他のリアルタイムの性能拡張を提供することも可能である。
【００７６】
本発明の別の革新的な要素は、とりわけ、自己変更および自己構成のための機構を提供するＡＣＥ１００自体（またはＡＣＥ１００を含む別のデバイス）によって生成される構成要求または再構成要求に関する。例えば、米国内で使用するための第１のＣＤＭＡ構成を通常、有するＡＣＥ１００（モバイル局３０または３２内部の）が、欧州内で電源オンにされる可能性がある。標準のＣＤＭＡ通信が存在しないので、ＡＣＥ１００は、現在の場所に適切な第２のセットの構成情報の無線ダウンロードを要求し、ＡＣＥ１００が欧州内で使用するためのＧＳＭ構成を有することを可能にすることができる。
【００７７】
前述したとおり、構成情報は、一般に、複数であり、第１の構成情報、第２の構成情報、乃至第ｎの構成情報などの複数のサブセットの構成情報から構成されている。１つの「セット」の構成情報は、ＡＣＥ１００の特定の動作モードに対応するものと考えることができる。例えば、第１のセットの構成情報がＣＤＭＡ動作モードを提供することができ、第２のセットの構成情報がＧＳＭ動作モードを提供することができる。
【００７８】
やはり前述したとおり、ＡＣＥ１００の所与の、または選択されたより高いレベルの動作モードに関して（または、等価であるが、所与の、または選択されたセットの構成情報に関して）、様々な固定の異質性計算要素２５０が、第１の構成情報に応答した離散コサイン変換のための構成や、第２の構成情報に応答した高速フーリエ変換のための再構成のように、構成情報のサブセットに応答した様々なより低いレベルの、またはより低位の機能モードに関して、相応して構成され、再構成される。
【００７９】
また、構成情報は、異なる形態を有することも可能である。一実施形態では、構成情報は、メモリ１４０の中に記憶されること、マトリックス１５０内部に分散して記憶されること、またはＭＩＮ１１０の構成として直接に記憶されることが可能なバイナリ情報の１つまたは複数の別々のパケットを含むことが可能である。また、構成情報は、バイナリ情報または他の情報の連続ストリームなどの、連続した形態で実現されることも可能である。指示に応じて、構成情報からの構成ビットおよびその他の制御ビットが、データと互いに入り込むようにされて、ＡＣＥ１００内部でリアルタイムに使用するためにシルバーウェア・モジュールが形成される。別の実施形態では、構成情報は、連続ストリーム（選択された機能の期間にわたって連続する）の形態で対応するデータとともにリアルタイムで提供されることが可能である。例えば、ＭＰ３プレーヤに関する構成情報が、再生される音楽のデータ・ビット・ファイルとともにシルバーウェア・ストリームでリアルタイムに提供されることが可能である。
【００８０】
２つの追加の特徴を利用して、構成情報に応答してＡＣＥ１００が安全に、効果的に構成され、かつ／または再構成されるこの能力が提供される。第１に、ＡＣＥ１００のリソースまたは能力のパラメータ、または測度である「ユニット・ハードウェア」の概念を利用して、所与のＡＣＥ１００が新しい構成をとり、新しい機能を実行する能力が、現在の構成および機能を維持して、十分なレベルまたは妥当なレベルの性能を提供することに鑑みて、あるいは現在の構成および機能を完全に置き換えることに鑑みて正確に測定される。例えば、第１世代のＡＣＥ１００は、ＣＤＭＡモバイル局としてと同時にパーソナル・デジタル・アシスタントとして構成するのに、ユニット・ハードウェアで測定して十分なリソースを有する可能性がある。例えば、ＭＰ３プレーヤに関する新しい構成をロードしようと試みることが、不十分なシステム・リソースのために勧められない可能性があり、したがって、新しい構成は、ＣＤＭＡ性能が許容できるレベルを下回って低下することを生じさせる。逆に、ＰＤＡとして最初に構成されている第１世代のＡＣＥ１００が、そのアプリケーションに関してより大幅な性能の低下が許容できる可能性があるため、新しい構成をロードするのに十分な残りのリソースを有する可能性がある。この例を続けると、第２世代または第３世代のＡＣＥ１００が、既存のＣＤＭＡ構成を維持しながら、追加のＧＳＭ構成およびＭＰ３構成のための十分なリソースを同時に有するなどの、現在の既存の構成だけでなく、そのような新しい構成（対応する追加の機能を有する）もサポートするのに十分な計算要素リソース、相互接続リソース、およびその他のＡＣＥ１００リソースを有することが可能である。
【００８１】
再構成能力を測定するユニット・ハードウェアのこの概念に関連しているのが、新しい機能の追加に関する構成情報、または１つまたは複数の完全なモジュール７０の複数のバージョンまたは複数のライブラリの概念である。構成情報またはモジュール７０のそのような複数のバージョンまたはライブラリは、特に、レガシー・アーキテクチャと対比される最新のＡＣＥアーキテクチャに対する適用に関して、ＡＣＥ１００デバイスの潜在的に異なる能力に対応するように調整される。そのような上位「バイナリ互換性」により、最新のＡＣＥ１００向けに設計されたモジュール７０が、任意のより新しい将来のＡＣＥ上で動作することが可能になる。例えば、違いが、性能品質や、機構の数およびタイプなどの事柄に関連している一式の異なる構成情報セットを開発して、特定の動作モードを提供することができる。構成情報の様々なセットまたはバージョンのそれぞれが、利用できる様々なレベルのＡＣＥ１００再構成能力に対応するシステム要件を有するように生成される。「ユニット・ハードウェア」のレベルに対応する要件レベルを有する構成情報のそのようなライブラリが、要求のダウンロード、または他の準備に先立って生成されることが可能であり、あるいは、受信側ＡＣＥ１００の特定の構成能力に適合させて、リアルタイムで必要に応じて生成されることが可能である。例えば、対応する適合された構成情報ダウンロードが、ＡＣＥ１００と構成プロバイダの間の交渉または対話に基づき、リアルタイムで決定されることが可能であり、所与の動作モードに関する交渉された、または所定の性能レベルに適切な構成情報が生成され、提供される。
【００８２】
また、例えば、特定の動作モードに関する構成情報は、所定のシステム要件を有する１つのバージョンでだけ利用できることも可能である。その場合、特定のＡＣＥ１００が、その要件を満たす対応する能力を有さない場合、ＡＣＥ１００自体が、そのようなダウンロードの可能性を拒否する、または断ることが可能である。
【００８３】
この結果、特定の動作モード向けの特定のＡＣＥアーキテクチャの構成（および／または再構成）に先立ち、ＡＣＥ１００の能力が特定され、デバイスの既存の動作モードまたは他の機能を変更する、または害する可能性がある構成のダウンロードまたは受信が回避されるか、または特定のＡＣＥ１００の能力に適合されたより適切なダウンロードが提供される。
【００８４】
構成情報に応答して異なる物理接続が生成されるか、または除去される適応性のあるＡＣＥ１００アーキテクチャの性質により、構成および再構成に関するセキュリティが最重要となる。そのような構成はＡＣＥアーキテクチャの動作モードを変更できることから、好ましい方法、システム、および装置の実施形態では、ウイルス、または他の不要な不正の構成情報などによる破壊的な構成、または有害な構成の可能性を回避する許可対策およびセキュリティ対策が実施される。好ましいモジュール７０の実施形態では、そのようなセキュリティ情報は、ヘッダ・フィールド７１内に含められる。
【００８５】
ＡＣＥ１００の構成可能性および再構成可能性を制御するいくつかのレベルのセキュリティが実施されることが可能である。第１のレベルのセキュリティは、構成情報を要求する、または受け取る許可のレベルで実施される。例えば、ＡＣＥ１００は、構成情報のダウンロードに先立って、「ハンドシェーク」中に、または他の初期の情報（ユニット・ハードウェア情報などの）交換中に、固有識別子またはデジタル署名がサーバ５４に伝送されるようにすることができる。サーバ５４は、許可された受信側のデータベースにアクセスすることができ、特定のＡＣＥ１００が含まれる場合、サーバ５４は、ダウンロードを許可する。そのような許可対策は、著作権で保護された資料、ならびに秘密であるか、またはそれ以外の形で規制されている可能性がある他の情報などの知的財産の保護のために重要である。例えば、様々な暗号化技術および復号化技術を利用して、不正な構成情報、ウイルスの構成情報、または破損した構成情報のダウンロードの可能性に対して保護する別のレベルのセキュリティを実施することもできる。
【００８６】
また、様々な構成およびコンテンツ使用の可能性を特定し、把握しておくために、様々な形態の監視、追跡、および他の記録保持も利用され、多数の異なるネットワーク・エンティティが関与することが可能である。例えば、モジュール７０または他の構成情報の特定のダウンロードが、複数のネットワーク・エンティティから生成されることが可能であり、モジュール７０または他の構成情報の特定のダウンロードに関する１つのトランザクションも、複数のネットワーク・エンティティにわたって分散される。この例を続けると、モジュール７０（または他の構成情報またはシルバーウェア）のダウンロードの要求が、無線サービス・プロバイダ「Ａ」の基地局２５において受信されることが可能である。この要求を満たすため、無線サービス・プロバイダ「Ａ」は、要求側ＡＣＥ１００の許可ステータスを特定し、許可されている場合、コンテンツ・プロバイダ「Ｂ」などの別のプロバイダに要求を転送し、プロバイダ「Ｂ」が、コンテンツ・サーバ５４を使用して、音楽ビット・ファイルなどの要求されたデータを提供する。やはり、プロバイダ「Ａ」からの要求に応答して、ＭＰ３構成情報のセットが、構成プロバイダ「Ｃ」により、構成情報サーバなどのプロバイダ「Ｃ」の制御下の第２の異なるサーバ５４を使用して同時に提供される。コンテンツ（データ）および構成情報は、シルバーウェア・モジュール・プロバイダ「Ｄ」に提供され、プロバイダ「Ｄ」は、シルバーウェア・モジュール・アプリケーション・ノード５１を有する第１の付属ネットワーク・エンティティ５０を使用して、データと構成をインターリーブしてシルバーウェア・モジュール７０を形成する。次に、暗号プロバイダ「Ｅ」が、暗号化アプリケーション・ノード５１を有する第２の付属ネットワーク・エンティティ５０を使用してシルバーウェア・モジュールを暗号化し、要求側ＡＣＥ１００に伝送するために暗号化されたシルバーウェア・モジュールをサービス・プロバイダ「Ａ」に提供する。それぞれのそのような分散トランザクションに関して対応するアカウンティングおよびその他のレコードが生成され、権利使用料、使用料、およびライセンス料の対応する配分が行われる。また、コンテンツ使用も、例えば、コンテンツ・サーバによって追跡されることが可能である。
【００８７】
また、構成情報の生成および提供は、空間にわたって分散されることに加えて、時間にわたって分散されることも可能であり、前述した様々な機能は、異なる期間中に行われる。例えば、構成情報の１つまたは複数のバージョンまたはセットが、あらゆる特定の使用に先立つなど、第１の所定の期間中に生成され、記憶されることが可能である。後に、構成情報のそのようなセットが、セキュリティ−経理許可プロセス後など、第２の所定の期間中に提供されることが可能である。
【００８８】
要約すると、本発明は、好ましくは、複数の情報シーケンスから構成される実行可能モジュールを利用して、適応的で再構成可能な回路の構成及び動作の方法を提供する。第１の情報シーケンス（またはフィールド）は、構成情報、またはメモリの中にキャッシュされた、または記憶された対応する構成情報に対するリファレンス（フラグまたは他の指示などの）であることが可能な構成制御を提供する。第２の情報シーケンスは、構成された計算要素が使用するためのオペランド・データを提供する。第３の情報シーケンスは、その他の情報をＡＣＥ集積回路のマトリックス環境内の適切な場所に向かわせるルーティング制御を提供する。やはり好ましい実施形態では、第４の情報シーケンスを利用して、様々な計算要素をクロック・オンまたはクロック・オフにする電力制御が提供され、第５の情報シーケンスが、ループ制御または反復制御のために利用されることが可能である。
【００８９】
やはり要約として、好ましいシステム実施形態の１つにより、第１に、構成情報を複数の計算要素にルーティングする手段が提供され、第２に、複数の計算要素の構成および再構成を行って複数の選択された機能の実行のための複数の構成された計算要素を形成するための手段が提供され、第３に、複数の構成された計算要素にオペランド・データを提供するための手段が提供され、第４に、対応するオペランド・データの受領に先行するように構成タイミングを制御するための手段が提供される。
【００９０】
別の好ましいシステム実施形態により、第１に、複数の計算要素の空間的な構成および再構成を行って第１の複数の選択された機能を実行するための第１の複数の構成された計算要素を形成するための手段が提供され、第２に、複数の計算要素の空間的な構成および再構成を行って第２の選択された機能の実行のための第２の複数の構成された計算要素を形成するための手段が提供され、第３に、第１の複数の構成された計算要素および第２の複数の構成された計算要素にデータを提供するための手段が提供され、第４に、複数の計算要素の空間的構成および時間的構成を第１の複数の構成された計算要素および第２の複数の構成された計算要素に対するデータの供給と協調させるための手段が提供される。
【００９１】
本発明の様々な実施形態の多数の利点は、明白である。本発明は、ＡＣＥ回路、およびＡＣＥ技術を組み込んだ他のデバイスの１つまたは複数の動作モードおよびその他の機能を提供するように適応集積回路を構成し、動作させるための装置、方法、およびシステムを提供する。本発明の装置、方法、およびシステムは、選択された動作モードを提供するためにシルバーウェア・モジュールまたは他の構成情報をＡＣＥ回路（ＡＣＥ  ＩＣ）と結合する。さらに、本発明の様々な実施形態により、構成とデータの調整が提供され、ＩＣの異なる部分の電力使用の独立した制御が提供される。
【００９２】
本発明のさらなる利点が、当分野の技術者には、さらに明らかとなる可能性がある。本発明のＡＣＥ１００アーキテクチャは、潜在的な欠点を最小限に抑えながら、プロセッサ、ＡＳＩＣ、およびＦＰＧＡの様々な利点を組み合わせ、最大化する。ＡＣＥ１００は、プロセッサのプログラミングの柔軟性、ＦＰＧＡの製造後の柔軟性、ならびにＡＳＩＣの高い速度および高い利用率の概念または理念を含み、低電力消費および低費用のさらなる特徴を有する。ＡＣＥ１００は、リアルタイムで容易に再構成可能であり、対応する複数の動作モードを有することが可能である。さらに、再構成可能な加速のために特定の機能を選択することを介して、ＡＣＥ１００は、電力消費を最小限に抑え、ハンドヘルド・デバイスおよび他の電池式デバイスにおける使用などの低電力アプリケーションに適している。
【００９３】
以上のことから、本発明の革新的な概念の趣旨および範囲を逸脱することなく、多数の変形形態および変更形態を実施できることが認められよう。本明細書で例示する特定の方法および装置に関して、いかなる限定も意図しておらず、推測されるべきでもないことを理解されたい。もちろん、頭記の特許請求の範囲により、すべてのそのような変更形態は、特許請求の範囲に含まれるものとして網羅されるものとする。
【図面の簡単な説明】
【００９４】
【図１】本発明による例示的な実行可能情報モジュールを示す図である。
【図２】本発明による複数のシステム実施形態を示すブロック図である。
【図３】本発明による統合システム実施形態を示すブロック図である。
【図４】本発明による好ましい適応コーティング・エンジン（ＡＣＥ）実施形態を示すブロック図である。
【図５】本発明による再構成マトリックス、複数の計算ユニット、および複数の計算要素を示すブロック図である。
【図６】本発明による再構成マトリックスの計算ユニットをより詳細に示すブロック図である。
【図７】本発明による複数の異なる固定の計算要素を有する好ましい多機能適応計算ユニットを示すブロック図である。
【図７Ａ】図７に示されている多機能適応計算ユニットに含まれるブロックのうちの１つを示す図である。
【図７Ｂ】図７に示されている多機能適応計算ユニットに含まれるブロックのうちの１つを示す図である。
【図７Ｃ】図７に示されている多機能適応計算ユニットに含まれるブロックのうちの１つを示す図である。
【図７Ｄ】図７に示されている多機能適応計算ユニットに含まれるブロックのうちの１つを示す図である。
【図８】本発明による複数の異なる固定の計算要素を有する好ましい適応論理プロセッサ計算ユニットを詳細に示すブロック図である。
【図９】本発明による固定の計算要素を有する適応論理プロセッサ計算要素の好ましいコア・セルをより詳細に示すブロック図である。
【図１０】本発明による適応論理プロセッサ計算要素のコア・セルの好ましい固定の計算要素をより詳細に示すブロック図である。
【図１】
2005512368.tif 000003
【図２】
2005512368.tif 000004
【図３】
2005512368.tif 000005
【図４】
2005512368.tif 000006
【図５】
2005512368.tif 000007
【図６】
2005512368.tif 000008
【図７】
2005512368.tif 000009
【図７Ａ】
2005512368.tif 000010
【図７Ｂ】
2005512368.tif 000011
【図７Ｃ】
2005512368.tif 000012
【図７Ｄ】
2005512368.tif 000013
【図８】
2005512368.tif 000014
【図９】
2005512368.tif 000015
【図１０】
2005512368.tif 000016
【国際調査報告】
2005512368.tif 000017