【手続補正書】
【提出日】平成17年12月1日(2005.12.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  アプリケーションプログラム命令に従ってユーザデータを演算することによりアプリケーションプログラムを実行するための少なくとも１つのデータプロセッサを有するコンピュータシステムにおいて、前記コンピュータシステムは、前記少なくとも１つのデータプロセッサに接続されるデータバスおよびアドレスバスを伴う少なくとも１つのメモリバンクを有し、改良は、
前記メモリバンクの個別にアドレス可能な部分内の複数の再構成可能なメモリアルゴリズムプロセッサと、
前記１つのデータプロセッサが前記アプリケーションプログラムを実行するとき、前記少なくとも１つのデータプロセッサによって前記複数のメモリアルゴリズムプロセッサが個別にメモリアドレス可能であるように、前記複数のメモリアルゴリズムプロセッサを前記データバスおよび前記アドレスバスに接続する手段とを含み、
前記複数のメモリアルゴリズムプロセッサは、特定のアルゴリズムに従って前記アプリケーションプログラムに関連するデータ処理を実行するようメモリアドレスされ得る個別のデータ処理マシンとして構成され、前記データ処理は、前記少なくとも１つのデータプロセッサによる前記メモリバンクへの書込み動作の結果として受取られる少なくとも１つのオペランドで実行される、改良。
【請求項２】  前記複数のメモリアルゴリズムプロセッサの各々は、フィールドプログラマブルゲートアレイを含む、請求項１に記載の改良。
【請求項３】  前記複数のメモリアルゴリズムプロセッサの各々は、前記少なくとも１つのデータプロセッサと独立して前記メモリバンクにメモリアドレスするように動作する、請求項１に記載の改良。
【請求項４】  特定のアルゴリズムは、前記複数のメモリアルゴリズムプロセッサの各々に予めプログラムされる、請求項１に記載の改良。
【請求項５】  複数の特定のアルゴリズムは、前記複数のメモリアルゴリズムプロセッサに関連付けられるメモリ装置に予めプログラムされる、請求項４に記載の改良。
【請求項６】  前記メモリ装置は、少なくとも１つの読出専用メモリ装置を含む、請求項５に記載の改良。
【請求項７】  前記複数のメモリアルゴリズムプロセッサの所与のいずれか１つは、特定のアルゴリズムによって処理されたオペランドのデータ処理結果を前記複数のメモリアルゴリズムプロセッサの別の１つに送るように動作する、請求項１に記載の改良。
【請求項８】  マルチプロセッサコンピュータシステムであって、
プログラム命令に従ってユーザデータを演算することにより少なくとも１つのアプリケーションプログラムを実行するための複数のデータプロセッサと、
前記複数のデータプロセッサに接続されるデータバスおよびアドレスバスを有するメモリバンクと、
複数の個別のメモリアドレス可能なメモリ位置における前記メモリバンク内の複数の再構成可能なメモリアルゴリズムプロセッサと、
前記複数の個別のメモリアルゴリズムプロセッサを前記データバスおよび前記アドレスバスに結合する手段とを含み、
前記複数の再構成可能なメモリアルゴリズムプロセッサは前記複数のデータプロセッサのすべてによって個別にメモリアドレス可能であり、さらに、
前記複数のメモリアルゴリズムプロセッサは、前記少なくとも１つの前記複数のデータプロセッサが前記少なくとも１つのアプリケーションプログラムを実行するとき、前記複数のデータプロセッサの１つによる前記メモリバンクへの書込み動作から受取られるオペランドで特定のアルゴリズムを実行するよう個別に構成される、マルチプロセッサコンピュータシステム。
【請求項９】  前記複数のメモリアルゴリズムプロセッサのすべては、前記複数のデータプロセッサのすべてによってメモリアドレス可能である、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項１０】  前記複数のメモリアルゴリズムプロセッサのすべては相互にメモリアドレス可能である、請求項９に記載のマルチプロセッサコンピュータシステム。
【請求項１１】  前記複数のメモリアルゴリズムプロセッサは集合的にメモリアルゴリズムプロセッサアセンブリを含み、前記メモリアルゴリズムプロセッサアセンブリは、
前記メモリアルゴリズムプロセッサアセンブリにより処理された最終オペランドに応答して最終オペランドフラグを与えるように動作する制御ブロックを含む、請求項１０に記載のマルチプロセッサコンピュータシステム。
【請求項１２】  複数のプリロードされた特定のアルゴリズムを記憶するために、前記複数のメモリアルゴリズムプロセッサと関連付けられる少なくとも１つのメモリ装置を含む、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項１３】  前記少なくとも１つのメモリ装置は、データプロセッサからの予め定められたコマンドに応答し、前記複数のメモリアルゴリズムプロセッサのうちアドレスされた１つによって実現される前記複数のプリロードされた特定のアルゴリズムのうちの選択された１つに応答して動作する、請求項１２に記載のマルチプロセッサコンピュータシステム。
【請求項１４】  前記少なくとも１つのメモリ装置は少なくとも１つの読出専用メモリ装置を含む、請求項１３に記載のマルチプロセッサコンピュータシステム。
【請求項１５】  前記複数のメモリアルゴリズムプロセッサの各々は、フィールドプログラマブルゲートアレイを含む、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項１６】  前記複数のメモリアルゴリズムプロセッサの各々は通常のメモリアクセスプロトコルによってメモリアクセス可能である、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項１７】  前記複数のメモリアルゴリズムプロセッサの各々は、前記メモリバンクにダイレクトメモリアクセス能力を有する、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項１８】  前記複数のメモリアルゴリズムプロセッサの各々は、処理されたオペランドの結果を別のメモリアルゴリズムプロセッサに送るように動作する、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項１９】  前記少なくとも１つのアプリケーションプログラムの少なくとも１つの並列領域を自動的に検出するように動作し、少なくとも１つの前記複数のメモリアル
ゴリズムプロセッサは、前記少なくとも１つのアプリケーションプログラムの前記検出された少なくとも１つの並列領域の機能として構成される、請求項８に記載のマルチプロセッサコンピュータシステム。
【請求項２０】  コンピュータシステムであって、
少なくとも１つのプロセッサと、
少なくとも１つの直接実行論理回路と、
前記少なくとも１つのプロセッサと前記少なくとも１つの直接実行論理回路とによりアクセス可能な共有メモリ空間と、
統一された実行可能なプログラムとを含み、プログラムは前記少なくとも１つのプロセッサにより実行可能なその第１の部分と前記少なくとも１つの直接実行論理回路により実行可能なその第２の部分とを含み、さらに、
前記少なくとも１つの直接実行論理回路は前記共有メモリ空間から受取られたオペランドで少なくとも１つの特定のアルゴリズムを実行するようプログラムされる、
コンピュータシステム。
【請求項２１】  コンピュータシステムであって、
少なくとも１つのプロセッサと、
少なくとも１つの直接実行論理回路と、
前記少なくとも１つのプロセッサと前記少なくとも１つの直接実行論理回路とによりアクセス可能な共有メモリ空間と、
統一された実行可能なプログラムとを含み、プログラムは前記少なくとも１つのプロセッサにより実行可能なその第１の部分と前記少なくとも１つの直接実行論理回路により実行可能なその第２の部分とを含み、さらに、
前記少なくとも１つの直接実行論理回路は、前記少なくとも１つのプロセッサとは独立に前記共有メモリ空間にアクセスするように動作する、コンピュータシステム。
【請求項２２】  前記少なくとも１つのプロセッサはマイクロプロセッサを含む、請求項２０または２１に記載のコンピュータシステム。
【請求項２３】  前記少なくとも１つの直接実行論理回路は少なくとも１つのフィールドプログラマブルゲートアレイを含む、請求項２０または２１に記載のコンピュータシステム。
【請求項２４】  前記少なくとも１つの直接実行論理回路は、前記少なくとも１つのプロセッサとは独立に前記共有メモリ空間にアクセスするように動作する、請求項２０または２１に記載のコンピュータシステム。
【請求項２５】  前記少なくとも１つの特定のアルゴリズムは、直接実行論理回路に関連付けられたメモリ装置にプログラムされる、請求項２０または２１に記載のコンピュータシステム。
【請求項２６】  前記メモリ装置は少なくとも１つの読出し専用メモリ装置を含む、請求項２５に記載のコンピュータシステム。
【請求項２７】  前記少なくとも１つのプロセッサにより実行可能な前記統一された実行可能なプログラムの前記第１の部分は前記共有メモリ空間に存在する、請求項２０または２１に記載のコンピュータシステム。
【請求項２８】  前記統一された実行可能なプログラムの前記第２の部分は、前記少なくとも１つの直接実行論理回路に存在する、請求項２０または２１に記載のコンピュータシステム。
【請求項２９】  前記統一された実行可能なプログラムの前記第２の部分は、前記少なくとも１つのフィールドプログラマブルゲートアレイに存在する、請求項２０または２１に記載のコンピュータシステム。
【請求項３０】  前記少なくとも１つのプロセッサは固定命令設定プロセッサを含む、請求項２０または２１に記載のコンピュータシステム。
【請求項３１】  コンピュータシステムの動作方法であって、
少なくとも１つのプロセッサを与えるステップと、
少なくとも１つの直接実行論理回路を与えるステップと、
前記少なくとも１つのプロセッサと前記少なくとも１つの直接実行論理回路とによる共有メモリ空間へのアクセスを可能にするステップと、
統一された実行可能なプログラムを前記コンピュータシステムで実行するステップとを含み、そのため前記統一された実行可能なプログラムの第１の部分は、前記少なくとも１つのプロセッサにより実行可能であり、前記統一された実行可能なプログラムの第２の部分は前記少なくとも１つの直接実行論理回路により実行可能であり、さらに、
前記共有メモリ空間は、前記少なくとも１つのプロセッサとは独立に前記少なくとも１つの直接実行論理回路によってアクセス可能である、方法。
【請求項３２】  少なくとも１つのプロセッサを与える前記ステップはマイクロプロセッサによって実行される、請求項３１に記載の方法。
【請求項３３】  少なくとも１つのプロセッサを与える前記ステップは固定命令設定プロセッサによって実行される、請求項３１に記載の方法。
【請求項３４】  少なくとも１つの直接実行論理回路を与える前記ステップは少なくとも１つのフィールドプログラマブルゲートアレイによって実行される、請求項３１に記載の方法。
【請求項３５】  前記少なくとも１つの直接実行論理回路を、前記共有メモリスペースから受取られた少なくとも１つの特定のアルゴリズムを実行するようプログラムするステップをさらに含む、請求項３１に記載の方法。
【請求項３６】  前記少なくとも１つの特定のアルゴリズムを前記直接実行論理回路に関連付けられたメモリ装置に記憶するステップをさらに含む、請求項３５に記載の方法。
【請求項３７】  前記少なくとも１つの特定のアルゴリズムを記憶する前記ステップは、読出し専用メモリ装置によって実行される、請求項３６に記載の方法。
【請求項３８】  前記統一された実行可能なプログラムの前記第１の部分を前記共有メモリ空間に記憶するステップをさらに含む、請求項３１に記載の方法。
【請求項３９】  前記統一された実行可能なプログラムの前記第２の部分を前記少なくとも１つの直接実行論理回路に記憶するステップをさらに含む、請求項３１に記載の方法。
【請求項４０】  前記統一された実行可能なプログラムの前記第２の部分を前記少なくとも１つのフィールドプログラマブルゲートアレイに記憶するステップをさらに含む、請求項３４に記載の方法。
【請求項４１】  複数の直接実行論理回路を用いたデータ処理のためのシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサと前記複数の直接実行論理回路とに結合された共有メモリ空間と、
前記共有メモリ空間の第１のアドレスに結合され、前記第１のアドレスに書込まれた第１のデータ値に応答する、前記複数の直接実行論理回路の第１のものとを含み、前記複数の直接実行論理回路の前記第１のものは統一された実行可能なプログラムに従って第１の構成された機能を実行し、第２のデータ値を生成し、前記第２のデータ値を前記共有メモリ空間の第２のアドレスに書込み、さらに、
前記共有メモリ空間の前記第２のアドレスに結合され、前記第２のアドレスに書込まれた前記第２のデータ値に応答する、前記複数の直接実行論理回路の第２のものを含み、前記複数の直接実行論理回路の前記第２のものは前記第２のデータ値を検索し、前記統一された実行可能なプログラムに従って第２の構成された機能を実行し、さらに、
前記共有メモリ空間内で特定されたアドレスにおいてデータにアクセスするための前記少なくとも１つのプロセッサと前記共有メモリ空間との間の第１の通信経路の第１の制御論理ブロックと、
前記制御論理ブロックと前記共有メモリ空間とを結合するデータバスおよびアドレスバ
スと、
前記複数の直接実行論理回路の前記第１のものと前記アドレスバスとの間の第３の通信経路と、
前記複数の直接実行論理回路の前記第１のものと前記アドレスバスとの間の前記第３の通信経路の第２の制御論理ブロックとを含み、
前記第２の制御論理ブロックは前記少なくとも１つのプロセッサからのコマンドをデコードするコマンドデコーダと、クロックサイクルをカウントするためのパイプラインカウンタと、前記パイプラインカウンタの出力が予め定められた数の前記クロックサイクルに対応するか否かを判断するための一致コンパレータと、前記一致コンパレータから出力を受取るためのステータスレジスタとを含む、システム。
【請求項４２】  前記複数の直接実行論理回路の前記第２のものは第３のデータ値を生成する、請求項４１に記載のシステム。
【請求項４３】  前記複数の直接実行論理回路の前記第１のものと前記データバスとの間の第２の通信経路をさらに含む、請求項４１に記載のシステム。
【請求項４４】  前記少なくとも１つのプロセッサは前記アドレスバスでコマンドを伝送する、請求項４１に記載のシステム。
【請求項４５】  前記少なくとも１つのプロセッサは定期的に前記ステータスレジスタにアクセスする、請求項４１に記載のシステム。
【請求項４６】  前記直接実行論理回路の前記第１および前記第２のものはフィールドプログラマブルゲートアレイを含む、請求項４１に記載のシステム。
【請求項４７】  前記直接実行論理回路の前記第１および前記第２のものは、前記少なくとも１つのプロセッサとは独立に前記共有メモリ空間にアクセスするように動作する、請求項４１に記載のシステム。
【請求項４８】  前記直接実行論理回路の前記第１のものは、前記共有メモリ空間から受取られたオペランドで少なくとも１つの特定のアルゴリズムを実行するようプログラムされる、請求項４１に記載のシステム。
【請求項４９】  前記少なくとも１つの特定のアルゴリズムは、前記複数の直接実行論理回路の前記第１のものと関連付けられるメモリ装置にプログラムされる、請求項４８に記載のシステム。
【請求項５０】  前記メモリ装置は少なくとも１つの読出し専用メモリ装置を含む、請求項４９に記載のシステム。
【請求項５１】  前記統一された実行可能なプログラムの第１の部分は、前記少なくとも１つのプロセッサによって実行されるために前記共有メモリ空間に存在する、請求項４１に記載のシステム。
【請求項５２】  前記統一された実行可能なプログラムの第２の部分は、前記複数の直接実行論理回路の前記第１のものに存在する、請求項４１に記載のシステム。
【請求項５３】  前記少なくとも１つのプロセッサは固定命令設定プロセッサを含む、請求項４１に記載のシステム。
【請求項５４】  共有メモリ空間に結合される直接実行論理回路を利用するデータ処理方法であって、
第１の機能を実行するために第１の直接実行論理回路を構成するステップと、
第２の機能を実行するために第２の直接実行論理回路を構成するステップと、
前記共有メモリ空間の第１のメモリアドレス位置に第１のデータ値を書込むステップと、
前記第１の直接実行論理回路に前記第１のデータ値を読み出すステップと、
第２のデータ値を生成するために、前記第１のデータ値を用いて前記第１の直接実行論理回路で前記第１の機能を実行するステップと、
前記共有メモリ空間の第２のメモリアドレスに第２のデータ値を書込むステップと、
前記第２の直接実行論理回路に前記第２のデータ値を読み出すステップと、
第３のデータ値を生成するために、前記第２のデータ値を用いて前記第２の直接実行論
理回路で前記第２の機能を実行するステップと、
前記データの処理を終了するためのコマンドを受取るステップと、
前記コマンドが受取られてから経過したクロックサイクルの数をカウントするステップと、
予め定められた数のクロックサイクルが過ぎると信号を生成するステップとを含む、方法。
【請求項５５】  前記第３のデータ値は前記共有メモリ空間の第３のメモリ位置に書込まれる、請求項５４に記載の方法。
【請求項５６】  前記第１の機能を実行するステップは乗算するステップを含む、請求項５４に記載の方法。
【請求項５７】  前記第１の直接実行論理回路を構成するステップは、少なくとも１つのプロセッサが前記第１の機能に対応する構成ビットを選択するステップを含む、請求項５６に記載の方法。
【請求項５８】  前記少なくとも１つのプロセッサは固定命令設定プロセッサを含む、請求項５７に記載の方法。
【請求項５９】  前記少なくとも１つのプロセッサは数学関数を実行する、請求項５７に記載の方法。
【請求項６０】  前記数学関数は６４ビットの浮動小数点計算関数を含む、請求項５９に記載の方法。
【請求項６１】  前記第３のデータ値が利用可能なとき前記少なくとも１つのプロセッサに信号で知らせるステップをさらに含む、請求項５７に記載の方法。
【請求項６２】  前記少なくとも１つのプロセッサに信号で知らせる前記ステップはステータスレジスタにステータス値を書込むステップを含む、請求項６１に記載の方法。
【請求項６３】  前記第２のデータ値を書込むステップは、前記第１の直接実行論理回路から前記第２の直接実行論理回路に前記第２のデータ値を動作的に送るステップを含む、請求項５４に記載の方法。
【請求項６４】  前記第１の直接実行論理回路を構成する前記ステップは、統一された実行可能なプログラムに従って実行される、請求項５７に記載の方法。
【請求項６５】  前記少なくとも１つのプロセッサは前記統一された実行可能なプログラムに従って動作する、請求項５７に記載の方法。
【請求項６６】  複数の直接実行論理回路を用いたデータ処理のためのシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサと前記複数の直接実行論理回路とに結合された共有メモリ空間と、
前記共有メモリ空間の第１のアドレスに結合され、前記第１のアドレスに書込まれた第１のデータ値に応答する、前記複数の直接実行論理回路の第１のものとを含み、前記複数の直接実行論理回路の前記第１のものは、統一された実行可能なプログラムに従って第１の構成された機能を実行し、第２のデータ値を生成し、前記第２のデータ値を前記共有メモリ空間の第２のアドレスに書込み、さらに、
前記共有メモリ空間の前記第２のアドレスに結合され、前記第２のアドレスに書込まれた前記第２のデータ値に応答する、前記複数の直接実行論理回路の第２のものを含み、前記複数の直接実行論理回路の前記第２のものは前記第２のデータ値を検索し、前記統一された実行可能なプログラムに従って第２の構成された機能を実行し、さらに、
前記複数の直接実行論理回路の前記第１および前記第２のものは、前記少なくとも１つのプロセッサとは独立に前記共有メモリ空間にアクセスするよう動作する、システム。
【請求項６７】  前記共有メモリ空間内の特定されたアドレスのデータにアクセスするために、前記少なくとも１つのプロセッサと前記共有メモリ空間との第１の通信経路の第１の制御論理ブロックをさらに含む、請求項６６に記載のシステム。
【請求項６８】  前記制御論理ブロックと前記共有メモリ空間とを結合するデータバ
スおよびアドレスバスをさらに含む、請求項６７に記載のシステム。
【請求項６９】  前記複数の直接実行論理回路の前記第１のものと前記データバスとの間の第２の通信経路をさらに含む、請求項６８に記載のシステム。
【請求項７０】  前記複数の直接実行論理回路の前記第１のものと前記アドレスバスとの間の第３の通信経路をさらに含む、請求項６８に記載のシステム。
【請求項７１】  前記複数の直接実行論理回路の前記第１のものと前記アドレスバスとの間の前記第３の通信経路の第２の制御論理ブロックをさらに含む、請求項７０に記載のシステム。
【請求項７２】  前記第２の制御論理ブロックは、前記少なくとも１つのプロセッサからのコマンドをデコードするコマンドデコーダと、クロックサイクルをカウントするためのパイプラインカウンタと、前記パイプラインカウンタの出力が予め定められた数の前記クロックサイクルに対応するか否かを判断するための一致コンパレータと、前記一致コンパレータから出力を受取るためのステータスレジスタとを含む、請求項７１に記載のシステム。
【請求項７３】  前記少なくとも１つのプロセッサは前記アドレスバスでコマンドを伝送する、請求項７１に記載のシステム。
【請求項７４】  前記少なくとも１つのプロセッサは定期的に前記ステータスレジスタにアクセスする、請求項７１に記載のシステム。
【請求項７５】  前記複数の直接実行論理回路の前記第１および前記第２のものはフィールドプログラマブルゲートアレイを含む、請求項６６に記載のシステム。
【請求項７６】  前記複数の直接実行論理回路の前記第１のものは、前記共有メモリ空間から受取られたオペランドに少なくとも１つの特定のアルゴリズムを実行するようプログラムされる、請求項６６に記載のシステム。
【請求項７７】  前記少なくとも１つの特定のアルゴリズムは、前記複数の直接実行論理回路の前記第１のものと関連付けられたメモリ装置にプログラムされる、請求項７６に記載のシステム。
【請求項７８】  前記メモリ装置は少なくとも１つの読出し専用メモリ装置を含む、請求項７７に記載のシステム。
【請求項７９】  前記統一された実行可能なプログラムの第１の部分は、前記少なくとも１つのプロセッサにより実行されるために前記共有メモリ空間に存在する、請求項６７に記載のシステム。
【請求項８０】  前記統一された実行可能なプログラムの第２の部分は、前記複数の直接実行論理回路の前記第１のものに存在する、請求項６７に記載のシステム。
【請求項８１】  前記少なくとも１つのプロセッサは固定命令設定プロセッサを含む、請求項６７に記載のシステム。