(57)【特許請求の範囲】
【請求項１】
複数のメモリサブアレイを有するメモリアレイを含み、
前記複数のメモリサブアレイの中の少なくとも１つは、再構成可能なルックアップテーブルとして配列され、
前記再構成可能なルックアップテーブルは、
データ保存モードと、ルックアップテーブルモードを切り換える動的スイッチとして機能し、
通信の単一のセットが信号で伝えることは、データを前記データ保存モードまたは前記ルックアップテーブルモードのサブアレイに書き込むために使用され、
前記再構成可能なルックアップテーブルは、
データを格納する複数のメモリセルと、
前記ルックアップテーブルモードにおいて、１つの入力信号の集合に基づいて前記複数のメモリセルの１つ以上の行を活性化するローカル行デコーダと、
前記ルックアップテーブルモードにおいて、少なくとも１つの入力信号に基づいて、
前記複数のメモリセルの活性化された１つ以上の行に保存された値のサブ集合を選択し、前記選択された値を前記再構成可能なルックアップテーブルの出力値として出力するローカルライン選択器と、を含み、
前記出力値は前記保存された値に等しいことを特徴とする再構成可能なロジック装置。
【請求項２】
前記少なくとも１つの入力信号は、複数のグループに分けられ、各グループは、論理機能の被演算子に連関されることを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項３】
前記メモリアレイは、
前記メモリアレイへの読出しアクセスと書込みアクセスとを可能にする入／出力のインターフェイスと、
前記再構成可能なルックアップテーブル内に信号のルーティングを調整する構成インターフェイスと、を含むことを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項４】
前記メモリアレイは、複数の前記再構成可能なルックアップテーブルを含み、
前記構成インターフェイスは、前記再構成可能なルックアップテーブルの間の信号のルーティングを調整することを特徴とする請求項３に記載の再構成可能なロジック装置。
【請求項５】
前記再構成可能なルックアップテーブルは、
最小個数の入力信号と最小個数の出力信号とを含み、
前記再構成可能なルックアップテーブルは、活性入力信号の個数が動的に変更され、活性出力信号の個数が変更されることを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項６】
前記再構成可能なルックアップテーブルは、算術コンピューティング機能を遂行することを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項７】
前記再構成可能なルックアップテーブルは、前記再構成可能なルックアップテーブルの出力信号を格納するためのレジスタを含むことを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項８】
前記メモリアレイは、２つ以上の再構成可能なルックアップテーブルを含み、
前記２つ以上の再構成可能なルックアップテーブルは、前記２つ以上の再構成可能なルックアップテーブルが単一の算術コンピューティング機能を遂行するために協力するようにルートされることを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項９】
前記メモリアレイは、２つ以上の再構成可能なルックアップテーブルを含み、
前記２つ以上の再構成可能なルックアップテーブルは、バス基盤のルーティングスキームを通じて電気的に連結され、
前記バス基盤のルーティングスキームは、前記２つ以上の再構成可能なルックアップテーブルとの間の信号を再ルーティングするように動的に変更されることを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項１０】
前記メモリアレイは、
前記再構成可能なルックアップテーブルを含む複数のプロセシングエレメントと、
前記複数のプロセシングエレメントのためにデータを格納する少なくとも１つのランダムアクセスメモリサブアレイと、を含むことを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項１１】
前記再構成可能なルックアップテーブルは、前記再構成可能なルックアップテーブルのデータを格納するための動的ランダムアクセスメモリ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）セルを含むことを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項１２】
前記再構成可能なルックアップテーブルのデータは、動的ランダムアクセスメモリへの書込み動作を通じて動的に変更されることを特徴とする請求項１に記載の再構成可能なロジック装置。
【請求項１３】
論理的機能を実行するための固定された論理回路を有するプロセッサを含み、
前記プロセッサは、
動的ランダムアクセスメモリのメモリセル内にデータを格納し、
前記論理的機能を遂行するために構成されたルックアップテーブルを前記動的ランダムアクセスメモリの再構成可能なルックアップテーブル内に格納する書込み動作を行い、
通信の単一のセットが信号で伝えることは、データをデータ保存モードまたはルックアップテーブルモードのサブアレイに書き込むために使用され、
前記動的ランダムアクセスメモリに含まれる前記再構成可能なルックアップテーブルに前記論理的機能を指示し、
前記論理的機能の実行の結果は前記再構成可能なルックアップテーブルに保存された値の部分を含み、
前記結果の値は前記保存された値と等しいことを特徴とする再構成可能なロジック装置。
【請求項１４】
前記プロセッサは、前記再構成可能なルックアップテーブルへの書込みアクセスの遂行によって前記論理的機能の実行を指示し、
前記書込みアクセスは、前記再構成可能なルックアップテーブルに連関された前記論理的機能に連関された入力被演算子を含むことを特徴とする請求項１３に記載の再構成可能なロジック装置。
【請求項１５】
前記プロセッサは、前記再構成可能なルックアップテーブルへの読出しアクセスの遂行によって前記論理的機能の実行の結果を検索し、
前記読出しアクセスは、前記再構成可能なルックアップテーブルに連関した論理的機能に連関した出力値を戻すことができることを特徴とする請求項１３に記載の再構成可能なロジック装置。
【請求項１６】
前記プロセッサは、最小個数の入力信号と最小個数の出力信号とを含む前記再構成可能なルックアップテーブル内に論理的機能を格納することを特徴とする請求項１３に記載の再構成可能なロジック装置。
【請求項１７】
前記プロセッサは、動的ランダムアクセスメモリアレイ内に２つ以上の再構成可能なルックアップテーブルを格納し、
前記２つ以上の再構成可能なルックアップテーブルは、前記２つ以上の再構成可能なルックアップテーブルが単一の論理的機能を遂行するために協力するようにルートされることを特徴とする請求項１３に記載の再構成可能なロジック装置。
【請求項１８】
動的ランダムアクセスメモリアレイは、メモリセルの複数のサブアレイを含み、
前記プロセッサは、再構成可能なメモリルックアップテーブル又はストレージメモリのいずれかとしてサブアレイを動的に配列することを特徴とする請求項１３に記載の再構成可能なロジック装置。
【請求項１９】
前記プロセッサは、前記再構成可能なルックアップテーブルへの書込みアクセスの遂行によって前記ルックアップテーブルを格納し、
前記書込みアクセスは、前記論理的機能に連関した入力信号の個数を示す設定と前記論理的機能に連関した出力信号の個数を示す設定とを含むことを特徴とする請求項１３に記載の再構成可能なロジック装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティング技術に関し、特に再構成可能なプロセシングユニットに関する。
【背景技術】
【０００２】
一般的にプログラマブルロジック装置（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、以下、‘ＰＬＤ’と称する）は、再構成可能であるデジタル回路を作るために使用される。一般的に固定された機能を有する論理ゲート又は論理回路と異なり、ＰＬＤは製造時に定義されない機能を伝統的に有する。しばしばＰＬＤは、回路内において使用される前に望む機能を遂行するためにプログラム、即ち再構成されなければならない。
【０００３】
伝統的にＰＬＤは、論理装置とメモリ装置との組合せを含む。一般的にメモリは、プログラム中に、チップに与えられたパターンを格納するために使用される。集積回路内にデータを格納するためのほとんどの方法は、ＰＬＤにおいて使用できる。これらは一般的にシリコンアンチヒューズ（ｓｉｌｉｃｏｎ  ａｎｔｉ−ｆｕｓｅｓ）、スタティックランダムアクセスメモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、消去可能プログラマブル読出し専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、電気的消去可能なプログラマブル読出し専用メモリ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ）等を含む。一般的に大部分のＰＬＤは、チップ内のシリコンの変更された領域に対して非正常的なレベルの電圧を適用することによってプログラムされるコンポーネントを含む。このような高いレベルの電圧は、電気的接続を破壊するか、或いは生起（技術に依存する）し、電気的回路の構成を変更する。
【０００４】
ＰＬＤの最も一般的な形態の中の１つは、フィールドプログラマブルゲートアレイ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ、以下、‘ＦＰＧＡ’と称する）である。ＦＰＧＡは、製造した後に顧客又はデザイナーによって構成されるように設計された集積回路であるので、“フィールド−プログラマブル”と称される。ＦＰＧＡの構成は、ハードウェア記述言語（ＨＤＬ：ｈａｒｄｗａｒｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）を使用して一般的に指定され、専用集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）のために使用されるものと類似する。
【０００５】
ＦＰＧＡは、プログラマブル論理ブロックのアレイと、該ブロックが“一緒に配線”（ｗｉｒｅｄ  ｔｏｇｅｔｈｅｒ）されることを許容する再構成可能な相互接続の階層（ｈｉｅｒａｒｃｈｙ）を含む。ＦＰＧＡのロジックブロックは、複雑な組合せ機能、又は、論理積ＡＮＤ、排他的論理和ＸＯＲ等の簡単な論理ゲート機能だけを遂行するように構成される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６，４４９，６９２号公報
【特許文献２】米国特許第７，６７５，９４９号公報
【特許文献３】米国特許公開第２００８／０１６２８５６号明細書
【特許文献４】米国特許公開第２０１４／０２４４９８１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、再構成可能なプロセシングロジックを通じて計算速度を向上させ、電源要求を減少できる装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明による再構成可能なロジック装置は、複数のメモリサブアレイを有するメモリアレイを含み、前記メモリサブアレイの中の少なくとも１つは、再構成可能なルックアップテーブルとして配列され、前記再構成可能なルックアップテーブルは、データを格納する前記複数のメモリセルと、入力信号の集合に基づいてメモリセルの１つ以上の行を活性化するローカル行デコーダと、少なくとも１つの入力信号に基づいてメモリセルの行のサブ集合を選択するために構成されたローカルライン選択器と、を含む。
【０００９】
実施形態において、前記少なくとも１つの入力信号は、複数のグループに分けられ、各グループは、論理機能の被演算子に連関される。
【００１０】
実施形態において、前記メモリアレイは、前記メモリアレイへの読出しアクセスと書込みアクセスとを可能にする入／出力のインターフェイスと、前記再構成可能なルックアップテーブル内に信号のルーティングを調整する構成インターフェイスと、を含む。
【００１１】
実施形態において、前記メモリアレイは、複数の再構成可能なルックアップテーブルを含み、前記構成インターフェイスは、前記再構成可能なルックアップテーブルの間の信号のルーティングを調整する。
【００１２】
実施形態において、前記再構成可能なルックアップテーブルは、最小個数の入力信号と最小個数の出力信号とを含み、前記再構成可能なルックアップテーブルは、活性入力信号の個数が動的に変更され、活性出力信号の個数が変更される。
【００１３】
実施形態において、前記再構成可能なルックアップテーブルは、算術コンピューティング機能を遂行する。
【００１４】
実施形態において、前記再構成可能なルックアップテーブルは、前記再構成可能なルックアップテーブルの出力信号を格納するためのレジスタを含む。
【００１５】
実施形態において、前記メモリアレイは、２つ以上の再構成可能なルックアップテーブルを含み、前記２つ以上の再構成可能なルックアップテーブルは、前記２つ以上の再構成可能なルックアップテーブルが単一の算術コンピューティング機能を遂行するために協力するようにルートされる。
【００１６】
実施形態において前記メモリアレイは、２つ以上の再構成可能なルックアップテーブルを含み、前記２つ以上の再構成可能なルックアップテーブルは、バス基盤のルーティングスキームを通じて電気的に連結され、前記バス基盤のルーティングスキームは、前記２つ以上の再構成可能なルックアップテーブルとの間の信号を再ルーティングするように動的に変更される。
【００１７】
実施形態において、前記メモリアレイは、前記再構成可能なルックアップテーブルを含む前記複数のプロセシングエレメントと、前記複数のプロセシングエレメントのためにデータを格納する少なくとも１つのランダムアクセスメモリサブアレイと、を含む。
【００１８】
実施形態において、前記再構成可能なルックアップテーブルは、前記再構成可能なルックアップテーブルのデータを格納するための動的ランダムアクセスメモリ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）セルを含む。
【００１９】
実施形態において、前記再構成可能なルックアップテーブルのデータは、前記動的ランダムアクセスメモリへの書込み動作を通じて動的に変更される。
【００２０】
本発明による再構成可能なロジック装置は、論理的機能を実行するための固定された論理回路を有するプロセッサを含み、前記プロセッサは、動的ランダムアクセスメモリのメモリセル内にデータを格納し、前記動的ランダムアクセスメモリの再構成可能なルックアップテーブル内に論理的機能を遂行するために構成されたルックアップテーブルを格納し、動的ランダムアクセスメモリによって含まれた再構成可能なルックアップテーブルの論理的機能の実行を指示する。
【００２１】
実施形態において、前記プロセッサは、前記再構成可能なルックアップテーブルへの書込みアクセスの遂行によって前記論理的機能の実行を指示し、前記書込みアクセスは、前記再構成可能なルックアップテーブルに連関された前記論理的機能に連関された入力被演算子を含む。
【００２２】
実施形態において、前記プロセッサは、前記再構成可能なルックアップテーブルへの読出しアクセスの遂行によって前記論理的機能の実行の結果を検索し、前記読出しアクセスは、前記再構成可能なルックアップテーブルに連関した論理的機能に連関した出力値に戻すことができる。
【００２３】
実施形態において、前記プロセッサは、最小個数の入力信号と最小個数の出力信号とを含む前記再構成可能なルックアップテーブル内に論理的機能を格納する。
【００２４】
実施形態において、前記プロセッサは、前記動的ランダムアクセスメモリアレイ内に２つ以上の再構成可能なルックアップテーブルを格納し、前記２つ以上の再構成可能なルックアップテーブルは、前記２つ以上の再構成可能なルックアップテーブルが単一の算術コンピューティング機能を遂行するために協力するようにルートされる。
【００２５】
実施形態において、前記動的ランダムアクセスメモリアレイは、メモリセルの複数のサブアレイを含み、前記プロセッサは、再構成可能なメモリルックアップテーブル又はストレージメモリのいずれかとしてサブアレイを動的に配列する。
【００２６】
実施形態において、前記プロセッサは、前記再構成可能なルックアップテーブルへの書込みアクセスの遂行によって前記ルックアップテーブルを格納し、前記書込みアクセスは、前記論理的機能に連関した入力信号の個数を示す設定と前記論理的機能に連関した出力信号の個数を示す設定とを含む。
【００２７】
本発明による再構成可能なロジック方法はプロセッサによる第１メモリアクセスを通じて、動的ランダムアクセスメモリアレイの再構成可能なルックアップテーブルのサブアレイに対して第１ルックアップテーブルを書き込む段階と、前記プロセッサによる第２メモリアクセスに応答して前記再構成可能なルックアップテーブルによって第１論理動作を遂行する段階と、前記プロセッサによる第３メモリアクセスを通じて、前記動的ランダムアクセスメモリアレイの再構成可能なルックアップテーブルのサブアレイに対して第２ルックアップテーブルを書き込む段階と、前記再構成可能なルックアップテーブルにより、前記プロセッサによる第４メモリアクセスに応答して第２論理動作を遂行する段階と、を含む。
【発明の効果】
【００２８】
本発明によるＤＲＡＭ基盤の再構成可能なロジックを利用する装置は、ＤＲＡＭ再構成可能なルックアップテーブル（ＲＬＵＴ）とＲＡＭとの融合を通じて計算速度を速くでき、データのバスを通じた移動を必要としないので、必要とする電力要求を減少できる。
【図面の簡単な説明】
【００２９】
【図１】本発明によるシステムの例示的な実施形態を示した図である。
【図２】本発明による装置の例示的な実施形態を示した図である。
【図３】本発明による装置の例示的な実施形態を示した図である。
【図４】本発明による装置の例示的な実施形態を示した図である。
【図５】本発明による装置の例示的な実施形態を示した図である。
【図６】本発明の原理にしたがって形成された装置を含む情報処理システムを示した図である。
【発明を実施するための形態】
【００３０】
多様な例示的な実施形態を、添付図面を参照してより詳細に以下に説明する。本発明は、多くの他の形態に具現でき、ここに説明した例示的な実施形態に限定して解釈されるべきではない。むしろ、この実施形態は、本記載が該当技術分野における通常の知識を有する者に、開示された本発明の範囲を徹底して、完璧に、十分に伝達されるように提供される。図面において、大きさ、レイヤーと領域とに関連した大きさは、明確にするために誇張される場合がある。
【００３１】
エレメントが他のエレメント又はレイヤーに“上に”として示す時、エレメントは他のエレメント又はレイヤーの直接上に位置しない。これとは反対にエレメントは、他のエレメント又はレイヤーに“直接上に”、“直接的に接続された”、又は“直接的に連結された”として示す時、他のエレメント又はレイヤーの上に直接置かれるか、接続されるか、或いは連結される。同一の参照番号は、完全に同一であるエレメントを示す。使用した用語“及び／又は”は、１つ以上の連関したリストされたアイテムの任意及びすべての組合せを含む。
【００３２】
第１、第２、第３等の用語が多様なエレメント、コンポーネント、領域、レイヤー、及び／又はセクションを説明するために使用されるが、このようなエレメント、コンポーネント、領域、レイヤー、及び／又はセクションは、このような用語によって制限されないと理解されるべきである。第１、第２、第３等の用語は、単に他のエレメント、コンポーネント、領域、レイヤー、又はセクションから１つのエレメント、コンポーネント、領域、レイヤー、又はセクションを区分するために使用される。したがって、第１エレメント、コンポーネント、領域、レイヤー、又はセクションは、本発明において開示することから逸脱しない範囲において第２エレメント、コンポーネント、領域、レイヤー、又はセクションになる場合がある。
【００３３】
“下に（ｂｅｎｅａｔｈ）”、“下で（ｂｅｌｏｗ）”、“下部（ｌｏｗｅｒ）”、“上に（ａｂｏｖｅ）”、“上部（ｕｐｐｅｒ）”等のような空間的に関連した用語は、図面内に示した他のエレメント又は特徴のために１つのエレメント又は特徴の関係を記述するための説明を簡単にするために使用される。
【００３４】
空間的に関連した用語は、図面に示す方向に加えて使用又は動作により装置の他の方向に拡張されると理解されるべきである。例えば、図面内において装置が回転すれば、他のエレメント又は特徴の“下に”、“下部”として記載されたエレメントは、他のエレメント又は特徴の“上の”方向である。したがって、例示的な用語“下に”は、上に又は下にの方向のすべてに拡張される。装置は、例えば、９０°回転される他への指向がなされる。使用した空間的に関連した記述語（ｄｅｓｃｒｉｐｔｏｒ）は、それに従って解釈されるべきである。
【００３５】
使用した専門用語（ｔｅｒｍｉｎｏｌｏｇｙ）は、特定実施形態を記述する目的に使用され、本発明を制限しない。使用した単数表現は、文中において明確に指示しない限り、複数の形態も含む。用語、“含む”又は／及び“含んでいる”の用語は、詳細な説明において使用される時、定められた特徴、整数、ステップ、動作、エレメント、及び／又はコンポーネントの存在を示すが、１つ以上の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、及び／又はそれのグループの存在又は追加を排除しないとさらに理解されるべきである。
【００３６】
例示的な実施形態を、概略的な図面を参照して説明する。結果、例えば、製造技法及び／又は許容誤差内における図面の形態からの変化が、予測される。したがって、例示的な実施形態は、ここに示した領域の特定形態に制限されるように構成されないこともあり、例えば、結果として製造技法の形状内の偏差を含む。例えば、四角形により図示された領域は、一般的にラウンドされる。したがって、図面に示した領域は、概略的であり、それらの形状は、装置領域の実際形状を示すためではなく、本発明の範囲を制限しない。
【００３７】
他に定義しない限り、ここで使用するすべての用語（技術的及び科学的な用語を含む）は、本発明が属する該当技術分野における通常の知識を有する者によって共通的に理解できる同一の意味を有する。共通的に使用される辞書にて定義されたそのような用語は、関連技術の文脈においてそれらの意味と相応しい意味を有することと解釈され、特に定義しない限り、理想的で過度に形式的な意味に解釈されないように理解されるべきである。
【００３８】
例示的な実施形態は、添付した図面を参照して詳細に説明する。
図１は、本発明によるシステムの例示的な実施形態を示した図である。
【００３９】
図１により、本発明によるシステム１００の例示的な実施形態を説明する。システム１００は、プロセッサ（ｐｒｏｃｅｓｓｏｒ）１０４、メモリ（ｍｅｍｏｒｙ）１０６、及び再構成可能なメモリロジック（ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ｍｅｍｏｒｙ  ｌｏｇｉｃ）１０２を含む。システム１００は、１つ以上の他のコンポーネント１０８（例えば、ネットワークインターフェイス、メモリコントローラ等）を含む。
【００４０】
システム１００は、システムオンチップ（ＳｏＣ：Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）を含む。他の実施形態において、システム１００は、多数の単体（ｄｉｓｃｒｅｔｅ）、即ち個別（ｉｎｄｉｖｉｄｕａｌ）のコンポーネントを含む。その他の実施形態において、システム１００は、集積及び単体コンポーネントの組合せを含む。システム１００は、例えば、ラップトップ（ｌａｐｔｏｐ）、デスクトップコンピュータ（ｄｅｓｋｔｏｐ）、ワークステーション（ｗｏｒｋｓｔａｔｉｏｎ）、携帯情報端末機（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートフォン（ｓｍａｒｔｐｈｏｎｅ）、タブレット（ｔａｂｌｅｔ）、及び他のコンピューター等のコンピューティング機器、仮想マシン、即ち仮想コンピューティング機器を含む。システム１００は、使用者（未図示）によって使用される。
【００４１】
プロセッサ１０４は、１つ以上の機械の実行可能命令語又はソフトウェアの部分、ファームウェア、又はそれらの組合せを実行するために構成される。プロセッサ１０４は、該プロセッサ１０４の製造中に、又は製造直後に例えばヒューズ（ｆｕｓｅ）等により設定される固定された論理回路、例えば、論理積（ＡＮＤ）ゲート、フリップーフロップ（ｆｌｉｐ−ｆｌｏｐ）等を含み、この部分は製造の後に実質的に変更されない。
【００４２】
メモリ１０６は、一時的に、永久的に、半永久的に、又はそれらの組合せにより１つ以上の部分（ｐｉｅｃｅｓ）データを格納するように構成された複数のメモリセルを含む。メモリ１０６内のデータは、プロセッサ１０４によってアクセスされる。さらにメモリ１０６は、揮発性メモリ（ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）、又はそれらの組合せを含む。
【００４３】
図示した実施形態において、システム１００は、再構成可能なメモリロジック１０２を含む。再構成可能なメモリロジック１０２は、再構成可能なＬＵＴであるＲＬＵＴ１１２、ＲＡＭ１１４により示したサブアレイとして配列された複数のメモリセル（明示せず）を含む点においてメモリ１０６と類似である。一般的にメモリ（例えば、静的ＲＡＭ（即ち静的ランダムアクセスメモリ）（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、動的ＲＡＭ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ＲＡＭ）等）は、行及び列をなしてアレイに配列されたメモリセルのアレイを含む。サブアレイによるメモリアレイの分割は、一般的に１つのサブアレイは、１つずつアクセスされるので、電源と計算複雑度の減少に有利である。
【００４４】
再構成可能なメモリロジック１０２によって示したメモリアレイは、一部のサブアレイが従来のメモリサブアレイの代わりにルックアップテーブル（ｌｏｏｋ−ｕｐ  ｔａｂｌｅ、以下、‘ＬＵＴ’と称する）として動作する点でメモリ１０６と異なる。論理機能は、ＬＵＴにおいて具現される。例えば、このＬＵＴは、加算器、乗算器、等の算術論理機能（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｆｕｎｃｔｉｏｎ）を遂行する。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。このＬＵＴは、処理エレメント又は、以下ではＲＬＵＴ（再構成可能なＬＵＴ（Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  ＬＵＴ））１１２として参照される。
【００４５】
ＲＬＵＴ１１２として具現された論理機能は、単にメモリの書込み動作の遂行によって変更される。これはシステム１００の動作の間に論理機能の動的再構成、即ち変更を可能にする。伝統的な書込み動作又は類似の動作の使用は、ＥＥＰＲＯＭのために使用される特異な（ｕｎｕｓｕａｌ）電圧、即ち、システム１００の動作中に適用不能な高い電圧を要しない再プログラミングを可能にする。
【００４６】
再構成可能なメモリロジック１０２は、構成インターフェイス１１６を含む。プロセッサ１０４又は他のコンポーネント１０８がＲＬＵＴ１１２内に格納されたロジック機能の変更又は変化を望む時、書込み動作又は特別な書込み動作（例えば、ＬＲＵＴ１１２に作用するという指示（ｉｎｄｉｃａｔｏｒ）を含む書込み動作）を遂行する。
【００４７】
一部の実施形態において、すべてのメモリアクセス又は動作は、再構成可能なメモリロジック１０２の入／出力インターフェイス（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（Ｉ／Ｏ）Ｉｎｔｅｒｆａｃｅ）１１８を通じてなされる。メモリアクセスがデータを格納するサブアレイ（例えば、ＲＡＭサブアレイ（以下、‘ＲＡＭ’と称する）１１４等）に対するデータの再生（ｒｅｖｉｖａｌ）の為である場合、入／出力インターフェイス１１８は、伝統的なメモリアレイに対するのと同様に読出し／書込み要請（ｒｅａｄ／ｗｒｉｔｅ  ｒｅｑｕｅｓｔ）を処理する。しかし、一部の実施形態において、ＲＬＵＴ１１２（又はＲＬＵＴ１１２として後で使用される）サブアレイにメモリアクセスをすれば、入／出力インターフェイス１１８は、プロセシングのための構成インターフェイス１１６にこのメモリアクセスを引き渡す。
【００４８】
その他の実施形態において、入／出力インターフェイス１１８は、ＲＬＵＴ１１２における読出し又は書込みを行うように構成される。書込みアクセスは、論理機能を定義するためのＲＬＵＴ１１２への書込みを含む。構成インターフェイス１１６は、ＲＬＵＴ１１２及び／又は全体として再構成可能なメモリロジック１０２における信号のルーティングを調整するように構成される。例えば、構成インターフェイス１１６は、多重ＲＬＵＴ１１２及び／又はＲＡＭ１１４の間の信号のルーティングを調整するように構成される。入／出力インターフェイス１１８は、ＲＬＵＴ１１２及びＲＡＭ１１４へのデータアクセスを管理するために構成され、構成インターフェイス１１６は、サブアレイ（１１２及び１１４）の相互接続とルーティングとを管理するために構成される。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。入／出力インターフェイス１１８は、構成インターフェイス１１６を含む。
【００４９】
さらに、各サブアレイは、ＲＬＵＴ１１２又は従来のメモリサブアレイＲＡＭ１１４として利用される。上述したようにＲＡＭ１１４サブアレイは、データと情報とを格納するために構成される。ＲＬＵＴ１１２とＲＡＭサブアレイ１１４の配分、即ち個数は、再構成可能なメモリロジック１０２の内において必要によって動的に調節される。他の実施形態において、ＲＬＵＴ１１２とＲＡＭサブアレイ１１４との個数は、製造時に固定される。その他の実施形態において、ＲＬＵＴ１１２の最大個数は、製造時に固定されるが、ＲＬＵＴ１１２は、ＲＡＭ１１４として動作するように構成される。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００５０】
プロセッサ１０４又は他のコンポーネント１０８が、ＲＬＵＴ１１２としてサブアレイが構成されることを望む場合、プロセッサ１０４は、再構成可能なメモリロジック１０２へのメモリアクセスを行う。メモリアクセスは、特定のＲＬＵＴ１１２内にルックアップテーブルを格納する書込み動作を含む。メモリアクセスは、ＬＵＴの大きさに応じた一連のメモリアクセスを含む。一部の実施形態において、特定メモリアクセスは、ＬＵＴへの入力の個数とＬＵＴからの出力の個数とを示す。尚、追加的なメモリアクセスは、ＲＬＵＴ１１２を考慮した信号ルーティング情報（ｓｉｇｎａｌ  ｒｏｕｔｉｎｇ  ｉｎｆｏｒｍａｔｉｏｎ）を示す。下記に記述するように、例えば、複数のＲＬＵＴ１１２は、論理的機能（例えば、加算器等）を遂行するためにカスケード（ｃａｓｃａｄｅ）されるか、或いは一緒にルートされる。
【００５１】
反対に、プロセッサ１０４又は他のコンポーネント１０８が、ＲＡＭ１１４としてサブアレイ構成を望む場合、メモリアクセスは、標準ＲＡＭ１１４に戻すためにＲＬＵＴ１１２を再構成するように構成インターフェイス１１６に指示する。一部の実施形態において、予め決定されたメモリセルは、現在のサブアレイがＲＬＵＴ１１２又はＲＡＭ１１４のいずれかとして機能しているかを示す指示ビット（ｉｎｄｉｃａｔｉｏｎ  ｂｉｔ）を格納するように構成される。多様な実施形態において、指示ビットは、サブアレイ又は構成インターフェイス１１６内に含まれる。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００５２】
再構成可能なメモリロジック１０２は、動的ＲＡＭ（ＤＲＡＭ：Ｄｙｎａｍｉｃ  ＲＡＭ）を含む。ＲＬＵＴ１１２はヒューズやトランジスタを壊すほどの特別な電圧によらずに、通常のメモリアクセス動作によって再構成される点において、従来のフィールドプログラマブルゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又はプログラマブルロジック装置（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ、以下、‘ＰＬＤ’と称する）と異なる。
【００５３】
ＤＲＡＭ基盤のＲＬＩＴ１１２において、ＳＲＡＭ基盤のＦＰＧＡと比較して高密度化が達成される。例えば、ＤＲＡＭ基盤のＲＬＵＴ１１２は、６つのトランジスタ（６Ｔ）を必要とするＳＲＡＭと比較して、情報のためにメモリセル又はビットごとに１つのトランジスタと、１つのキャパシター（１Ｔ１Ｃ）を必要とする。他の実施形態において、ＤＲＡＭ基盤のＲＬＵＴ１１２は、ＳＲＡＭ又はフラッシュ基盤のＦＰＧとを比較してより低い費用をもたらす。
【００５４】
ＲＬＵＴ１１２は、伝統的なメモリアクセス（又はそれの変形）によって変更されるので、ＲＬＵＴ１１２は、自己変更的（ｓｅｌｆ−ｍｏｄｉｆｙｉｎｇ）であり得る。例えば、１つのクロックサイクルのＲＬＵＴ１１２における計算結果出力は、第２計算機能を遂行するようにＲＬＵＴ１１２を再構成又はアップデートするメモリアクセスを結果でする。他の実施形態において、あるＲＬＵＴ１１２の出力は、該ＲＬＵＴ１１２の動作のモードを変更する方法により同じＲＬＵＴ１１２への入力としてフィードバックされる。
【００５５】
尚、ＤＲＡＭ基盤のＲＬＵＴ１１２とＲＡＭ１１４との混在（ｃｏ−ｍｉｎｇｌｉｎｇ）は、いくつかの長所を有する。例えば、ＲＡＭ１１４内に格納されたデータが近接しているので、ＲＬＵＴ１１２によって遂行された計算の速度を高速化し、データがバスを通じて移動する必要がないので、電源要求を下げる。一部の実施形態において、プロセッサ１０４とメモリ１０６の製造に使用されるのと同様のＤＲＡＭ技術に基づくＲＬＵＴ１１２は、プロセッサ１０４及び／又はメモリ１０６として同一のダイ（ｄｉｅ）又はパッケージ（ｐａｃｋａｇｅ）内に存在できる。ＤＲＡＭ基盤のＲＬＵＴ１１２によって提供された近接データは、速くてより効率的である。さらに同一の製造プロセスは、システム１００の製造費用をさらに下げる。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００５６】
図２は、本発明による装置の例示的な実施形態を示した図である。
図２により、本発明の趣旨による装置又はＲＬＵＴ２００の例示的な実施形態を説明する。ＲＬＵＴ２００は、データを格納するように構成されたサブアレイ、即ち複数のメモリセル２０２を含む。メモリセル２０２は、論理機能（例えば、４ビットの加算器等）を遂行するルックアップテーブルを格納する。
【００５７】
ＲＬＵＴ２００は、入力信号２１２としてＮ個の信号を受信する。Ｎ個の入力信号２１２は、ＲＬＵＴ２００の論理機能の被演算子（ｏｐｅｒａｎｄ）に基づいてグループ内に分割される。例えば、入力信号２１２が８ビットを含むと、それは２つの４ビットの被演算子にグループ分割される。上述内容は、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００５８】
入力信号２１２は、ローカル行デコーダ２０４によってデコードされる。ローカル行デコーダ２０４は、入力信号２１２の値に基づいてメモリセル２０２の１つ以上の行２１４を駆動するために構成される。ローカル行デコーダ２０４は、メモリセル２０２の行へのアドレスとして入力信号２１２の値を使用する。
【００５９】
メモリセル２０２の各列は、選択された行内に格納された値を予め決定された電圧として、出力するように構成されたドライバ２０６に連結される。ドライバ２０６は、ワードラインドライバを含む。
【００６０】
一部の実施形態において、ＲＬＵＴ２００は、ＲＬＵＴ２００の出力信号を格納するために構成された１つ以上のレジスタ２０７を含む。例えば、ＲＬＵＴ２００は、入力及び／又は出力内のパイプライン・アーキテクチャ（ｐｉｐｅｌｉｎｅｄ  ａｒｃｈｉｔｅｃｔｕｒｅ）の一部分であり、クロック信号のエッジの間において安定でなければならない。そのような実施形態において、レジスタ２０７は、パイプライン・アーキテクチャによって必要とされる出力信号２１８の値を安定化するか、或いは維持（ｈｏｌｄ）するために利用される。レジスタ２０７は、ドライバ２０６とローカルライン選択器２０８との間に配置される。他の実施形態において、レジスタ２０７は、ローカルライン選択器２０８の後に位置する。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００６１】
一部の実施形態において、ＲＬＵＴ２００は、少なくとも１つの入力信号２１７に基づいてメモリセル２０２の活性化された（選択された）行のサブ集合（ｓｕｂ−ｓｅｔ）２１６を選択するために構成されたローカルライン選択器２０８を含む。ローカルライン選択器２０８は、最終出力信号２１８を生成する。出力信号２１８は、Ｍビットを含む。
【００６２】
一部の実施形態において、入力信号２１７の値は、動的に変化する。加算器の場合を例として挙げると、入力信号２１７は、キャリィインビット（ｃａｒｒｙ−ｉｎ  ｂｉｔ）として機能し、新しい追加動作ごとに変化する。他の実施形態において、入力信号２１７は、比較的変化しない値である。例えば、ＲＬＵＴ２００は、１６ビットのサブワードラインを有するが、望む出力信号２１８は、５ビットだけの場合、入力信号２１７は、１６ビットワードの最初の５ビットのみを選択するように構成される。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００６３】
多様な実施形態において、ＤＲＡＭ基盤のＲＬＵＴ２００入力信号２１２の個数と出力信号２１８の個数を各々最小に制限しておくと有利である。例えば、メモリセル２０２が全体のサブアレイを含むと、行と列との個数は、相対的に大きい。それは、大部分のサブアレイの行（例えば、入力信号２１２）と大部分のサブアレイの列（例えば、出力信号２１８）とを使用するＬＵＴの利用のためにより効率的である。そのような実施形態において、入力／出力の個数を予め決定された最小個数にしておくと、サブアレイの効率的な利用を最小量にできる。
【００６４】
サブアレイの利用は、相対的に多い個数の入力／出力を含む算術コンピューティング機能（例えば、加算器等）をＲＬＵＴ２００に付与する。反対に、ＲＬＵＴ２００は、小さい個数の入力／出力（例えば、ランダム制御ロジック等）を有するコンピューティング機能のために利用される場合、ＲＬＵＴ２００の最も効率的な使用ではないこともあり得る。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００６５】
１つの例示的な実施形態において、ＲＬＵＴ２００は、４ビットの最小被演算子幅を含むように構成される。２つの被演算子のロジック関数は、８ビット幅の全体入力信号２１２を含む。同様にＲＬＵＴ２００は、９ビット幅の最小出力信号２１８を含むように構成されることもある。他の実施形態において、ＲＬＵＴ２００は、最小の被演算子幅（例えば、８ビット等）の２倍と同一の幅の最小出力信号２１８を含むように構成される。上述したことは、単なる１つの例であって、本発明の特徴が上述した例に制限されないと理解されるべきである。
【００６６】
ＲＬＵＴ２００は、入力信号２１２及び／又は出力信号２１８の個数が動的に変更されるように構成される。例えば、ＲＬＵＴ２００によって遂行される論理機能は、第１機能から第２機能に動的に変更され、入力信号２１２の個数、被演算子の個数、及び／又は出力信号２１８の個数は、動的に変更される。上述の変更は、活性化される入力信号２１２及び／又は出力信号２１８の全体可能個数のサブセットを選択することを含む。
【００６７】
図３は、本発明による装置の例示的な実施形態を示した図である。
図３により、本発明による装置又はＲＬＵＴ２５０の例示的な実施形態を説明する。キャリィイン（ｃａｒｒｙ−ｉｎ）を有する簡単な４ビットの加算器を示す。これは４ビットの被演算子幅を有する８乃至１０ビットのＬＵＴを通じて具現される。上述したことは、単なる１つの例であって、本発明の特徴が上述した例に制限されないと理解されるべきである。
【００６８】
上述したようにＲＬＵＴ２５０は、複数のメモリセル２０２、ローカル行デコーダ２０４、ローカルライン選択器２０８、及び多数のドライバ２０６を含む。ＲＬＵＴ２５０は、２つの被演算子２５１、２５２を受信する。第１被演算子（Ａ）２５１は、４ビットを含む。第２被演算子（Ｂ）２５２は、４ビットを含む。メモリセル２０２は、出力候補２５３、２５４を形成するために２つの被演算子を加算する加算器として提供されるルックアップテーブルを格納、即ち保存する。
【００６９】
上述したようにローカル行デコーダ２０４は、選択された行２１４を活性化するためのアドレスビットと同一の入力信号又は被演算子２５１、２５２を使用する。行は、２つの出力候補２５３、２５４を作り出す。このような出力候補は、第１番目の場合２５３はＡ＋Ｂと同一であり、第２番目の場合２５４はＡ＋Ｂ＋１と同一である。ルックアップテーブルは、各行に複数の候補値を格納することによってテーブルの効率が増加する。
【００７０】
ＲＬＵＴ２５０は、第３被演算子又は入力信号２５６を受信する。第３被演算子２５６は、キャリィインビットとして機能する。キャリィインビットは、ローカルライン選択器２０８に第１出力候補２５３（Ａ＋Ｂ）と第２出力候補２５４（Ａ＋Ｂ＋１）の間の選択をさせる。選択された出力候補は、５ビットの出力信号２５８に成る。５ビットの出力信号２５８は、４ビットと１ビットの和のキャリィアウト（ｃａｒｒｙ−ｏｕｔ）を含む。
【００７１】
上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。他の算術機能（例えば、掛け算、暗号化変換、行列処理等）は、ＲＬＵＴを通じて具現される。他の実施形態において、非算術機能（例えば、キー／値のペア、辞書等）がＲＬＵＴを通じて具現される。上述したことは、単なる１つ例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００７２】
図４は、本発明による装置の例示的な実施形態を示した図である。
図４により、本発明による装置２７０の例示的な実施形態を説明する。図４にはキャリィインを有する８ビットの加算器を示す。本実施形態においては２つのＲＬＵＴ２５０及び２５０Ｂの間のカスケーディング又はルーティング信号を通じて具現され、各ＲＬＵＴは、４ビットの加算器として構成される。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００７３】
２つのＲＬＵＴ２５０及び２５０Ｂは、共に、それらが個別的に遂行できる作業よりも、より複雑な作業を遂行できるように結合される。他の実施形態において、さらに大きい個数のＲＬＵＴは、他の作業又は機能を遂行するためにルートされるか、或いは連結される。さらに多様な実施形態において、連結されたＲＬＵＴは、同種である必要がないが、多様な作業又は機能を遂行するためにプログラムされた多様なＲＬＵＴを含む。尚、ＲＬＵＴは、プロセシングパイプラインの形態に構成される。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００７４】
装置２７０への入力は、２つの８ビットの被演算子２５１、２５２と１ビットの入力信号２５６とを含む。装置２７０は、図３に示したような４ビットの加算器として構成された２つのＲＬＵＴ２５０、２５０Ｂを含む。
【００７５】
第１ＲＬＵＴ２５０は、８ビットの被演算子２５１、２５２の最下位４ビット、及び入力信号２５６を処理するように構成される。第２ＲＬＵＴ２５０Ｂは、８ビットの被演算子２５１、２５２の最上位４ビット、及び、第１ＲＬＵＴ２５０ビットを処理するように構成される。ＲＬＵＴ２５０、２５０Ｂの出力は、８ビットの出力信号２５８又は和を形成するために連結される。第２ＲＬＵＴ２５０Ｂのキャリィアウトビットは、装置２７０全体のためにキャリィアウトビット２７８として使用される。
【００７６】
図５は、本発明による装置の例示的な実施形態を示した図である。
図５により、本発明による装置３００の例示的な実施形態を説明する。メモリアレイ３０１は、バス基盤の相互接続とルーティング技法とにより具現される。メモリアレイ３０１は、分離されたダイ又は装置３００として示した。他の実施形態において、バス基盤のルーティング技法を有するメモリアレイ３０１は、共有したダイ（例えば、システムオンチップ（ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）、プロセッサキャッシュ（ｐｒｏｃｅｓｓｏｒ  ｃａｃｈｅ）等）上の他のコンポーネントに集積される。
【００７７】
メモリアレイ３０１は、複数のサブアレイ３０２を含む。サブアレイ３０２は、ＲＬＵＴ及び／又はＲＡＭとして構成される。各サブアレイ３０２は、図２等に示した多数の入力及び出力信号を含む。装置３００は、メモリアレイ３０１の全体のための入力信号パッド３０６と出力信号パッド３０８とを含む。
【００７８】
装置３００は、通信バス３０４を含む。通信バス３０４は、サブアレイ３０２の間において信号を再ルーティング（ｒｅ−ｒｏｕｔｅ）するように、サブアレイ３０２の間のルーティングスキームの動的変更を可能にする。例えば、２つのサブアレイが図３と図４に示した４ビットの加算器のように動作するように構成されれば、通信バス３０４は、図４に示した単一の８ビットの加算器として動作するように２つのサブアレイ３０２の間の入／出力（Ｉ／Ｏ）信号に効率的にルートする。使用者又はプロセッサによりそのような８ビットの加算器は必要としないと決定されれば、通信バス３０４は、８ビットの加算器を無くすために２つのサブアレイの入／出力（Ｉ／Ｏ）信号を効率的に再ルーティングする。そのような実施形態において、通信バス３０４は、新しい論理機能が望む（例えば、乗算器、及び辞書等）すべてのことを支援するための入／出力信号を効率的にルートする。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００７９】
一部の実施形態において、通信バス３０４は、ポイントツウポイント（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）のルーティング技法より効率的である。例えば、バス基盤のルーティング技法は、より少ない領域を消耗し、より速くて、伝統的なポイントツウポイントのルーティング技法より少ない電源を消耗する。しかし、一部のメモリアレイ３０１は、他のルーティング技法（例えば、ポイントツウポイント、アドレス基盤（ａｄｄｒｅｓｓ−ｂａｓｅｄ）等）又は２つ以上の技法の組合せを利用する。さらに一部の実施形態において、ルーティングは、図１に示した構成インターフェイスの制御又は指揮に従う。
【００８０】
図６は、本発明の原理にしたがって形成された装置を含む情報処理システムを示した図である。
図６により、本発明の原理にしたがって形成された半導体装置を含む情報処理システム４００を説明する。情報処理システム４００は、本発明の原理にしたがって構成された１つ以上の装置を含む。他の実施形態において、情報処理システム４００は、本発明の原理にしたがう１つ以上の技法を利用するか、或いは実行する。
【００８１】
情報処理システム４００は、例えば、ラップトップ（ｌａｐｔｏｐ）、デスクトップコンピュータ（ｄｅｓｋｔｏｐ）、ワークステーション（ｗｏｒｋｓｔａｔｉｏｎ）、携帯情報端末機（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートフォン（ｓｍａｒｔｐｈｏｎｅ）、タブレット（ｔａｂｌｅｔ）、及び他のコンピューター等のコンピューティング機器、仮想マシン又は仮想コンピューティング機器を含む。情報処理システム４００は、使用者（図示せず）によって使用される。
【００８２】
本発明による情報処理システム４００は、中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ロジック及び、又はプロセッサ４１０をさらに含む。一部の実施形態において、プロセッサ４１０は、１つ以上の機能ユニットブロック（ＦＵＢｓ：ｆｕｎｃｔｉｏｎａｌ  ｕｎｉｔ  ｂｌｏｃｋｓ）又は組合せロジックブロック（ＣＬＢｓ：ｃｏｍｂｉｎａｔｉｏｎ  ｌｏｇｉｃ  ｂｌｏｃｋｓ）４１５を含む。組合せロジックブロック４１５は、多様なブーリアン論理演算（Ｂｏｏｌｅａｎ  ｌｏｇｉｃ  ｏｐｅｒａｔｉｏｎ）（例えば、否定積ＮＡＮＤ、否定論理和ＮＯＲ、否定ＮＯＴ、排他的論理和ＸＯＲ等）、安定化論理装置（ｓｔａｂｉｌｉｚｉｎｇ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）（例えば、フリップーフロップ（ｆｌｉｐ−ｆｌｏｐ）、ラッチ（ｌａｔｃｈ）等）、他の論理装置、又はそれらの組合せを含む。このような組合せのロジック動作は、望む結果を遂行するように入力信号を処理するために簡単な又は複雑な方式に構成される。同期化された組合せのロジック動作の幾つかの例の説明内において本発明は、これに制限されず、非同期動作又はそれの混合を含むと理解されるべきである。一実施形態において、組合せのロジック動作は、複数の相補型金属酸化膜半導体（ＣＭＯＳ：ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ）トランジスタを含む。このようなＣＭＯＳトランジスタは、論理動作を遂行するゲートにより配列されるが、他の技術が使用でき、本発明の範囲内にある。
【００８３】
情報処理システム４００は、揮発性メモリ４２０（例えば、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））をさらに含む。情報処理システム４００は、不揮発性メモリ４３０（例えば、ハードドライブ（ｈａｒｄ  ｄｒｉｖｅ）、光メモリ（ｏｐｔｉｃａｌ  ｍｅｍｏｒｙ）、ＮＡＮＤ又はフラッシュ（Ｆｌａｓｈ）メモリ）をさらに含む。一部の実施形態において、揮発性メモリ４２０、不揮発性メモリ４３０、又はそれの組合せ又はその内の１つは、‘格納媒体（ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）’である。揮発性メモリ４２０及び／又は不揮発性メモリ４３０は、半永久的又は実質的に永久的な形態のデータを格納するように構成される。
【００８４】
上述した再構成可能なルックアップテーブル（ＲＬＵＴ）は、揮発性メモリ４２０の内又は不揮発性メモリ４３０の内に含まれる。上述したようにＲＬＵＴは、ＤＲＡＭ又は他のメモリの一部として含まれる。上述したように一部の実施形態において、揮発性メモリ４２０又は不揮発性メモリ４３０の部分は、データ格納のために利用され、第２部分は、ＲＬＵＴとして利用される。一部の実施形態において、ＲＬＵＴは、ロジックプロセッサ及び／又はプロセッサ４１０の一部であってもよい。上述したようにＲＬＵＴは、１つ以上の論理機能を遂行し、したがって命令語を実行する。上述したことは、単なる１つの例であって、本発明の趣旨が上述した例に制限されないと理解されるべきである。
【００８５】
情報処理システム４００は、通信ネットワークの一部であり、通信ネットワークを通じて通信する情報処理システム４００を許容するために構成された１つ以上のネットワークインターフェイス４４０を含む。Ｗｉ−Ｆｉプロトコルの例は、国際電気電子技術者協会（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ、以下、‘ＩＥＥＥ’と称する）８０２．１１ｇ、ＩＥＥＥ  ８０２．１１ｎ等に制限されることはないが、その内容を含む。セルラープロトコル（ｃｅｌｌｕｌａｒ  ｐｒｏｔｏｃｏｌ）の例は、ＩＥＥＥ８０２．１６ｍ（無線巨大都市通信網（ＭＡＮ：Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮアドバンスト（ＭＡＮ  Ａｄｖａｎｃｅｄ）として公知された）、ロングタームエボリューションアドバンスト（ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）Ａｄｖａｎｃｅｄ）、ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）Ｅｖｏｌｕｔｉｏｎ）、進化形の高速パケットアクセス（ＨＳＰＡ＋：Ｅｖｏｌｖｅｄ  Ｈｉｇｈ−Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）等に制限されることではないが、その内容を含む。有線プロトコルの例は、ＩＥＥＥ  ８０２．３（イーサーネット（Ｅｔｈｅｒｎｅｔ（登録商標））として公知された）、繊維チャンネル（Ｆｉｂｒｅ  ｃｈａｎｎｅｌ）、電力線通信（Ｐｏｗｅｒ  Ｌｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）（例えば、ホームプラグ（ＨｏｍｅＰｌｕｇ）、ＩＥＥＥ  １９０１等）等に制限されないが、その内容を含む。上述したことは、単なる例であって、本発明が上述した例に制限されないと理解されるべきである。
【００８６】
情報処理システム４００は、使用者インターフェイスユニット４５０（例えば、ディスプレイアダプタ（ｄｉｓｐｌａｙ  ａｄａｐｔｅｒ）、ハプティックインターフェイス（ｈａｐｔｉｃ  ｉｎｔｅｒｆａｃｅ）、ヒューマンインターフェイス装置（ｈｕｍａｎ  ｉｎｔｅｒｆａｃｅ  ｄｅｖｉｃｅ））をさらに含む。使用者インターフェイスユニット４５０は、使用者から入力受信及び／又は使用者からの出力の提供の中の１つのために構成される。他の種類の装置が使用者と円滑な相互作用に対する提供のために使用され、例えば、使用者に提供されるフィードバックは、感覚フィードバック（ｓｅｎｓｏｒｙ  ｆｅｅｄｂａｃｋ）の任意の形態、例えば、視覚フィードバック（ｖｉｓｕａｌ  ｆｅｅｄｂａｃｋ）、聴覚フィードバック（ａｕｄｉｔｏｒｙ  ｆｅｅｄｂａｃｋ）、又は触覚フィードバック（ｔａｃｔｉｌｅ  ｆｅｅｄｂａｃｋ）であり、使用者からの入力は、音響、音声、又は触覚入力を含む任意の形態により受信される。
【００８７】
情報処理システム４００は、１つ以上の他の装置又はハードウェアコンポーネント４６０（例えば、ディスプレイ又はモニタ、キーボード、マウス、カメラ、指紋認識器、ビデオプロセッサ等）を含む。上述したことは、単なる例であり、本発明が上述した例に制限されないと理解されるべきである。
【００８８】
情報処理システム４００は、１つ以上のシステムバス４０５をさらに含む。システムバス４０５は、プロセッサ４１０、揮発性メモリ４２０、不揮発性メモリ４３０、ネットワークインターフェイス４４０、使用者インターフェイスユニット４５０、及び１つ以上のハードウェアコンポーネント４６０を通信に関する連結を有するように構成する。プロセッサ４１０によって処理されたデータ又は不揮発性メモリ４３０の外部から入力されたデータは、不揮発性メモリ４３０又は揮発性メモリ４２０のうちの１つに格納される。
【００８９】
情報処理システム４００は、１つ以上のソフトウェアコンポーネント４７０を含み実行する。一部の実施形態において、ソフトウェアコンポーネント４７０は、運営体系（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及び／又はアプリケーションを含む。一部の実施形態において、運営体系は、アプリケーションに１つ以上のサービスを提供するために構成され、アプリケーションと情報処理システム４００の多様なハードウェアコンポーネント（例えば、プロセッサ４１０、ネットワークインターフェイス４４０等）との間の仲介者として管理又は作用する。情報処理システム４００は、例えば、不揮発性メモリ４３０等の内部に局部的に設置される１つ以上のネイティブアプリケーションを含み、プロセッサ４１０によって直接的に実行され、運営体系と直接に相互作用するために構成される。ネイティブアプリケーションは、予めコンパイルされた機械実行コード（ｐｒｅ−ｃｏｍｐｉｌｅｄ  ｍａｃｈｉｎｅ  ｅｘｅｃｕｔａｂｌｅ  ｃｏｄｅ）を含む。ネイティブアプリケーションは、スクリプトインタプリタ（例えば、Ｃシェル（ｓｈｅｌｌ）（ｃｓｈ）、アップルスクリプト（ＡｐｐｌｅｓＳｃｒｉｐｔ）、自動ホットキー（Ａｕｔｏ  Ｈｏｔｋｅｙ）等）又はプロセッサ４１０によって実行された後、実行可能なコード内のソース（ｓｏｕｒｃｅ）又は客体（ｏｂｊｅｃｔ）コードの変換のために構成された仮想実行マシン（ＶＭ：Ｖｉｒｔｕａｌ  ｅｘｅｃｕｔｉｏｎ  ｍａｃｈｉｎｅ）（例えば、ジャバ仮想マシン（Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）、マイクロソフトの共通言語ランタイム（Ｍｉｃｒｏｓｏｆｔ  Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅ）等）を含む。
【００９０】
上述した半導体装置は、多様なパッケージング技法を使用してカプセル化（ｅｎｃａｐｓｕｌａｔｅ）されてもよい。例えば、本発明の原理にしたがって構成された半導体装置は、パッケージオンパッケージ（ＰＯＰ：ｐａｃｋａｇｅ  ｏｎ  ｐａｃｋａｇｅ）技法、ボールグリッドアレイ（ＢＧＡｓ：ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ）技法、チップスケールパッケージ（ＣＳＰｓ：ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ）技法、プラスチックリーデッドキャリヤ（ＰＬＣＣ：ｐｌａｓｔｉｃ  ｌｅａｄｅｄ  ｃｈｉｐ  ｃａｒｒｉｅｒ）技法、プラスチックデュアルイン−ラインパッケージ（ＰＤＩＰ：ｐｌａｓｔｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技法、ワッフルパッケージ内のダイ（ｄｉｅ  ｉｎ  ｗａｆｆｌｅ  ｐａｃｋ）技法、ウエハー形状内のダイ（ｄｉｅ  ｉｎ  ｗａｆｅｒ  ｆｏｒｍ）技法、チップオンボード（ＣＯＢ：ｃｈｉｐ  ｏｎ  ｂｏａｒｄ）技法、セラミックデュアルインラインパッケージ（ＣＥＲＤＩＰ：ｃｅｒａｍｉｃ  ｄｕａｌ  ｉｎ−ｌｉｎｅ  ｐａｃｋａｇｅ）技法、プラスチックメトリッククワッドフラットパッケージ（ＰＭＱＦＰ：ｐｌａｓｔｉｃ  ｍｅｔｒｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、プラスチッククワッドフラットパッケージ（ＰＱＦＰ：ｐｌａｓｔｉｃ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、スモールアウトラインパッケージ（ＳＯＩＣ：ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、シュリンクスモールアウトラインパッケージ（ＳＳＯＰ：ｓｈｒｉｎｋ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、  シーンスモールアウトラインパッケージ（ＴＳＯＰ：ｔｈｉｎ  ｓｍａｌｌ  ｏｕｔｌｉｎｅ  ｐａｃｋａｇｅ）技法、シーンクワッドフラットパッケージ（ＴＱＦＰ：ｔｈｉｎ  ｑｕａｄ  ｆｌａｔ  ｐａｃｋａｇｅ）技法、システム−イン−パッケージ（ＳＩＰ：ｓｙｓｔｅｍ  ｉｎ  ｐａｃｋａｇｅ）技法、マルチチップパッケージ（ＭＣＰ：ｍｕｌｔｉ−ｃｈｉｐ  ｐａｃｋａｇｅ）技法、ウエハーレベルファブリケイテッドパッケージ（ＷＦＰ：ｗａｆｅｒ−ｌｅｖｅｌ  ｆａｂｒｉｃａｔｅｄ  ｐａｃｋａｇｅ）技法、ウエハーレベルプロセスされたスタックパッケージ（ＷＳＰ：ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  ｓｔａｃｋ  ｐａｃｋａｇｅ）技法、又は該当技術分野においてよく公知された他の技法の中の任意の１つを使用してカプセル化される。
【００９１】
上述した動作は、入力データと生成された出力上の動作によって機能を遂行するためのコンピュータープログラムを実行する１つ以上のプログラマブルプロセッサによって遂行される。上述した動作は、特定目的のロジック回路、例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又は注文形の半導体（ＡＳＩＣ：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により具現される装置によって遂行される。
【００９２】
コンピューターにより読み出し可能な媒体は、命令語を含み、それが実行される時、上述した動作の少なくとも一部を遂行するための装置を活性化する。一部の実施形態において、コンピューターにより読出し可能な媒体は、マグネチック媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉｕｍ）、光媒体（ｏｐｔｉｃａｌ  ｍｅｄｉｕｍ）、他の媒体、又はそれの組合せ（例えば、ＣＤ−ＲＯＭ、ハードドライブ、読出し専用メモリ、フラッシュドライブ等）を含む。そのような実施形態において、コンピューターにより読出し可能な媒体は、実体的であり、また製造による非一時的具現物である。
【００９３】
本発明の原理は、例示的な実施形態を参照して説明し、該当技術分野においてこのように記載された概念の趣旨と範囲を逸脱しないように作られる多様な変更と修正が可能であることは明らかである。したがって、上述した実施形態は、示したことに制限されないと理解されるべきである。したがって、請求の範囲とそれらの均等物の最も広く許容する解釈によって、記載された概念の範囲が決定され、本願の変更と修正によって制限されない。したがって、添付した請求の範囲は、実施形態の範囲内において逸脱しないすべての修正と変更を含む。
【符号の説明】
【００９４】
１００  システム
１０２  再構成可能なメモリロジック
１０４  プロセッサ
１０６  メモリ
１０８  他のコンポーネント
１１２、２００、２５０、２５０Ｂ  ＲＬＵＴ
１１４  ＲＡＭ
１１６  構成インターフェイス
１１８  入／出力インターフェイス
２０２  メモリセル
２０４  ローカル行デコーダ
２０６  ドライバ
２０７  レジスタ
２０８  ローカルライン選択器
２１２、２１７、２５６  入力信号
２１４  行
２１６  行のサブ集合
２１８、２５８  出力信号
２５１、２５２、２５６  被演算子
２５３、２５４  出力候補
２７０、３００  装置
２７８  キャリィアウトビット
３０１  メモリアレイ
３０２  サブアレイ
３０４  通信バス
３０６  入力信号パッド
３０８  出力信号パッド
４００  情報処理システム
４０５  システムバス
４１０  ロジックプロセッサ及び／又はプロセッサ
４１５  組合せロジックブロック（ＣＬＢ）
４２０  揮発性メモリ
４３０  不揮発性メモリ
４４０  ネットワークインターフェイス
４５０  使用者インターフェイスユニット
４６０  ハードウェアコンポーネント  
４７０  ソフトウェアコンポーネント
【図１】
0006594762.tif 000002
【図２】
0006594762.tif 000003
【図３】
0006594762.tif 000004
【図４】
0006594762.tif 000005
【図５】
0006594762.tif 000006
【図６】
0006594762.tif 000007