(57)【要約】  ３２ビット幅の演算器からなる演算器ネットワーク（１）、１６ビット幅の演算器からなる演算器ネットワーク（２）、８ビット幅の演算器からなる演算器ネットワーク（３）、４ビット幅の演算器からなる演算器ネットワーク（４）、およびそれらを制御する演算制御信号用ネットワーク（５）を有する。各ネットワークは、複数の演算器により再構成可能な構成となっている。ある演算器ネットワークから、その演算器ネットワークとは異なるビット幅の演算器からなる別の演算器ネットワークにデータが渡される場合には、ビット幅変換器（６），（７），（８）により、データが渡される側の演算器ネットワークのビット幅に合うように、データのビット数を変換する。
2008107969.tif 000002
【特許請求の範囲】
【請求項１】
同じビット幅の複数の演算器が再構成可能なネットワークを構成し、かつネットワークによって前記演算器のビット幅が異なる複数の演算器ネットワークと、
ビット幅の異なる演算器からなる前記演算器ネットワーク間でビット幅の変換を行うビット幅変換器と、
演算器により再構成可能なネットワークを構成し、かつ前記演算器ネットワークを制御する演算制御信号用ネットワークと、
前記演算器ネットワーク、前記演算制御信号用ネットワークおよび前記ビット幅変換器に対して、回路構成の切り替えタイミングを制御するシーケンサと、
を備えることを特徴とする再構成可能な演算装置。
【請求項２】
前記演算器ネットワークは、レジスタなし演算器ネットワークとレジスタ付き演算器ネットワークに分離されており、
前記レジスタなし演算器ネットワークと前記レジスタ付き演算器ネットワークは、直列またはループ構造をなすように接続されていることを特徴とする請求項１に記載の再構成可能な演算装置。
【請求項３】
前記レジスタなし演算器ネットワークは、前記レジスタ付き演算器ネットワークに接続され、
前記レジスタ付き演算器ネットワークは、前記ビット幅変換器に接続されることを特徴とする請求項２に記載の再構成可能な演算装置。
【請求項４】
前記レジスタなし演算器ネットワークは、レジスタのない複数の演算器とレジスタファイルとセレクタスイッチを備えることを特徴とする請求項３に記載の再構成可能な演算装置。
【請求項５】
前記レジスタなし演算器ネットワークにおいて、前記レジスタのない演算器は、ｍ行ｎ列のマトリクス状に配置されており、そのうち、１列目の演算器は、前記レジスタ付き演算器ネットワークに接続される前記レジスタファイルに接続され、２列目以降の各列の演算器の間には、前列の演算器の出力と次の列の演算器の入力の接続関係を切り替える前記セレクタスイッチが挿入され、最終列の演算器の出力は、もう一方の前記レジスタファイルに接続されており、各列の前記セレクタスイッチは、前記各レジスタファイルに相互にデータ送信が可能に接続され、かつ前の段のセレクタスイッチから次の段のセレクタスイッチへデータ送信が可能に接続されていることを特徴とする請求項４に記載の再構成可能な演算装置。
【請求項６】
前記レジスタ付き演算器ネットワークは、レジスタを備えた複数の演算器とセレクタスイッチを備えることを特徴とする請求項３に記載の再構成可能な演算装置。
【請求項７】
前記レジスタ付き演算器ネットワークにおいて、前記レジスタを備えた演算器は、前記セレクタスイッチに相互にデータ送信が可能に接続され、前記セレクタスイッチは、前記レジスタなし演算器ネットワークに相互にデータ送信が可能に接続されることを特徴とする請求項６に記載の再構成可能な演算装置。
【請求項８】
前記演算制御信号用ネットワークは、演算器ネットワークの演算器から渡される制御信号に基づいて、同じ演算器ネットワーク内または異なる演算器ネットワーク内の演算器を制御することを特徴とする請求項４〜７のいずれか一つに記載の再構成可能な演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、異なるビット幅の演算器を混載した再構成可能な演算装置に関する。
【背景技術】
【０００２】
従来、再構成可能な演算装置として、次のようなものが公知である。例えば、特許文献１には、複数のプロセッシングユニットと、前記複数のプロセッシングユニットの少なくとも一部のプロセッシングユニットを直列に接続する第１の伝送経路を形成可能な接続網とを有し、前記プロセッシングユニットは、前記第１の伝送経路により接続された他のプロセッシングユニットとの間で、前記第１の伝送経路により接続されたプロセッシングユニットによりシリアルに処理されるデータを伝達する第１の伝達手段と、前記第１の伝送経路を介して、前記複数のプロセッシングユニットの特定のプロセッシングユニットに対するメッセージをワームホールルーティングにより伝達する第２の伝達手段とを有する構成のデータ処理装置が開示されている。【０００３】
また、特許文献２には、それぞれが複数の演算機能を選択的に実行可能な論理回路の多段配列と、前段の論理回路の出力と後段の論理回路の入力の接続関係を設定可能な接続部とを含み、前記接続部には、論理回路間の接続用結線とは別に、途中段の論理回路へのデータの直接入力が可能な入力用結線が設けられているリコンフィギュラブル回路が開示されている。このリコンフィギュラブル回路では、前記論理回路は、複数種類の多ビット演算を選択的に実行可能な算術論理回路により構成されている。【０００４】
【特許文献１】特開２００５−１５７６５３号公報
【特許文献２】特開２００４−２２１９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の再構成可能な演算装置では、該演算装置を構成する複数の演算器は、乗算後に丸め処理を行うために一時的にビット幅が増える場合を除いて、同じビット幅（例えば、１６ビット）を有している。これは、上述した特許文献１に開示されたデータ処理装置や、特許文献２に開示されたリコンフィギュラブル回路においても、同様である。そのため、従来の構成では、演算器のビット幅よりも小さいビットでの演算を行うと、実装している演算器の仕様が過剰となり、面積効率が極端に悪化するという問題点がある。また、演算器のビット幅よりも大きいビットでの演算を行うと、レイテンシが悪化するという問題点がある。【０００６】
また、特許文献１では、複数のプロセッシングユニットが同じビット幅の演算器で構成されていることを前提としているようである。そのため、あるプロセッシングユニットの演算器が４ビット幅であり、別のプロセッシングユニットの演算器が８ビット幅であり、さらに別のプロセッシングユニットの演算器が１６ビット幅である、というような構成は想定されていない。従って、特許文献１には、プロセッシングユニット間で、ビットの圧縮（丸める）や伸張（拡張）を行って、ビット幅を変換するという技術的な思想はない。また、特許文献１には、シーケンサによって、プロセッシングユニット間の接続やビット幅の変換を同時に制御することについては、何ら記載されていない。特許文献２についても、同様である。【０００７】
この発明は、上述した従来技術による問題点を解消するため、演算器のビット幅が演算のビットと異なることによる面積効率の悪化やレイテンシの悪化を防ぐことができる再構成可能な演算装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明にかかる再構成可能な演算装置は、複数の演算器ネットワーク、ビット幅変換器、演算制御信号用ネットワークおよびシーケンサを備える。演算器ネットワークは、複数の演算器で構成されている。その複数の演算器は、再構成可能なネットワークを構成している。同じ演算器ネットワークでは、演算器のビット幅は同じである。演算器ネットワークが異なると、演算器のビット幅が異なる。【０００９】
演算器ネットワークは、レジスタなし演算器ネットワークとレジスタ付き演算器ネットワークに分離されている。レジスタなし演算器ネットワークは、レジスタの付いていない演算器により構成される。レジスタ付き演算器ネットワークは、レジスタの付いた演算器により構成される。レジスタなし演算器ネットワークとレジスタ付き演算器ネットワークは、直列またはループ構造をなすように接続されている。【００１０】
ビット幅変換器は、ビット幅の異なる演算器からなる演算器ネットワーク間でビット幅の変換を行う。演算制御信号用ネットワークは、演算器により再構成可能なネットワークを構成している。演算制御信号用ネットワークは、複数の演算器ネットワークに共通であり、演算器ネットワークを制御する。シーケンサは、演算器ネットワーク、演算制御信号用ネットワークおよびビット幅変換器に対して、回路構成の切り替えタイミングを制御する。【００１１】
この発明によれば、異なるビット幅の演算器を混載した再構成可能な演算装置が得られる。従って、複数の演算器ネットワークの中から、演算のビット数に応じて、そのビット数に一致するビット幅の演算器により構成される演算器ネットワークが選択され、その選択された演算器ネットワークでもって演算が行われる。また、ある演算器ネットワークから、その演算器ネットワークとは異なるビット幅の演算器からなる別の演算器ネットワークにデータが渡される場合には、ビット幅変換器により、データが渡される側の演算器ネットワークのビット幅に合うように、データのビット数が変換される。さらに、複数の演算器ネットワークに対して演算制御信号用ネットワークが共通であることにより、制御信号についての性能悪化が最小限に抑えられる。
【発明の効果】
【００１２】
本発明にかかる再構成可能な演算装置によれば、演算器のビット幅が演算のビットと異なることによる面積効率の悪化やレイテンシの悪化を防ぐことができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態にかかる再構成可能な演算装置の構成を示す図である。
【図２】図１に示す演算装置に含まれる演算器を説明する図である。
【図３】各演算器ネットワークの構成を示す図である。
【図４】この発明の実施の形態にかかるレジスタなし演算器ネットワークの構成を示す図である。
【図５】この発明の実施の形態にかかるレジスタ付き演算器ネットワークの構成を示す図である。
【図６】この発明の実施の形態にかかる演算制御信号用ネットワークの構成を示す図である。
【符号の説明】
【００１４】
１，２，３，４  演算器ネットワーク
５  演算制御信号用ネットワーク
６，７，８  ビット幅変換器
９  シーケンサ
１０  レジスタなし演算器ネットワーク
１１  レジスタ付き演算器ネットワーク
２１〜３２  レジスタのない演算器
３３，３４  レジスタファイル
３５，３６，５３  セレクタスイッチ
４１〜５２  レジスタ付き演算器
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明にかかる再構成可能な演算装置の好適な実施の形態を詳細に説明する。【００１６】
図１は、この発明の実施の形態にかかる再構成可能な演算装置の構成を示す図である。図１に示すように、例えば、演算装置は、３２ビット演算器ネットワーク１、１６ビット演算器ネットワーク２、８ビット演算器ネットワーク３、４ビット演算器ネットワーク４、演算制御信号用ネットワーク５、ビット幅変換器６，７，８およびシーケンサ９を備えている。【００１７】
３２ビット演算器ネットワーク１は、３２ビット幅の複数の演算器（ＰＥ：Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）により構成されており、それら演算器が再構成可能なネットワークを構成している。１６ビット演算器ネットワーク２、８ビット演算器ネットワーク３および４ビット演算器ネットワーク４についても同様であり、それぞれ、１６ビット幅、８ビット幅および４ビット幅の複数の演算器により再構成可能なネットワークが構成されている。【００１８】
これら各ビットの演算器ネットワークは、外部データの処理に供せられる。図１では、これら各ビットの演算器ネットワーク１，２，３，４がビット幅の順に並んでいるが、これに限らない。演算制御信号用ネットワーク５は、３２ビット、１６ビット、８ビットおよび４ビットの各演算器ネットワーク１，２，３，４に共通であり、これら各ビットの演算器ネットワーク１，２，３，４との間で演算制御信号の送受信を行い、各ビットの演算器ネットワーク１，２，３，４において演算を行うか否かを制御する。演算制御信号用ネットワーク５は、演算器により再構成可能なネットワークを構成している。【００１９】
ビット幅変換器６，７，８は、演算器ネットワーク間でビット幅の変換を行う。すなわち、図１の例では、３２ビット演算器ネットワーク１と１６ビット演算器ネットワーク２の間のビット幅変換器６は、前者から後者に渡されるデータのビット数を３２ビットから１６ビットに圧縮し（丸め）、後者から前者に渡されるデータのビット数を１６ビットから３２ビットに伸張（拡張）する。【００２０】
同様に、１６ビット演算器ネットワーク２と８ビット演算器ネットワーク３の間のビット幅変換器７、および８ビット演算器ネットワーク３と４ビット演算器ネットワーク４のビット幅変換器８は、それぞれ、１６ビットと８ビットの間、および８ビットと４ビットの間でビットの圧縮および伸長を行う。シーケンサ９は、３２ビット、１６ビット、８ビットおよび４ビットの各演算器ネットワーク１，２，３，４、演算制御信号用ネットワーク５およびビット幅変換器６，７，８に対して、回路構成の切り替えタイミングを制御する。なお、各演算器ネットワーク１，２，３，４、演算制御信号用ネットワーク５およびビット幅変換器６，７，８ごとに別々にシーケンサを設けてもよい。【００２１】
図２は、各ビットにおける演算器を説明する図である。図２に示すように、例えば、演算器には、ＡＮＤ（論理積）やＯＲ（論理和）やＥＯＲ（排他的論理和）やＩＮＶ（否定）を実行するロジックＰＥ、比較・加減算命令を実行してプレディケート生成するコンペアＰＥ、シフト・マスク命令を実行するシフトＰＥ、加減算命令を実行する加減算ＰＥ、特定条件判定でプレディケート生成するプレディケートＰＥ、乗算を実行して上位ビット幅への接続が可能な乗算ＰＥ、１クロックサイクルの遅延を発生するディレイＰＥ、カウント動作を行なってプレディケート生成するカウンタＰＥ、データを保持するＲＡＭ＿ＰＥ、データのビット数を伸長するエクステンションＰＥ、乗算ＰＥとともに使用されてデータのビット数を圧縮するラウンドＰＥ、絶対値・補数命令を実行する絶対値・補数ＰＥ、および入力データを累積して丸めて出力するアキュムレートＰＥなどがある。【００２２】
また、これら各演算器には、３２、１６、８および４の各ビット幅のものがある。３２ビット、１６ビット、８ビットおよび４ビットの各演算器ネットワーク１，２，３，４には、図２に示す各演算器のうち、それぞれ、３２ビット、１６ビット、８ビットおよび４ビットの演算器が配置されている。演算制御信号用ネットワーク５には、プレディケートＰＥが配置されている。ビット幅変換器６，７，８には、変換するビット幅に対応するエクステンションＰＥやラウンドＰＥや乗算ＰＥが配置されている。【００２３】
図３は、３２ビット、１６ビット、８ビットおよび４ビットの各演算器ネットワークの構成を示す図である。図３に示すように、例えば、各演算器ネットワーク１，２，３，４は、レジスタのない演算器（図２において、属性がレジスタなしのもの）からなるレジスタなし演算器ネットワーク１０と、レジスタを備える演算器（図２において、属性がレジスタありのもの）からなるレジスタ付き演算器ネットワーク１１に分離されている。【００２４】
さらに、レジスタなし演算器ネットワーク１０は、レジスタのない演算器からなるレジスタなし演算器アレイ１２とレジスタ器１３を備えている。レジスタ付き演算器ネットワーク１１は、ビット幅変換器６（７，８）に対して相互にデータ送信が可能に接続されている。レジスタなし演算器アレイ１２は、レジスタ付き演算器ネットワーク１１およびレジスタ器１３に対して、それぞれ、相互にデータ送信が可能に接続されている。【００２５】
例えば、ビット幅変換器６（７，８）からレジスタ付き演算器ネットワーク１１に入力されたデータは、レジスタ付き演算器ネットワーク１１に入力され、必要に応じてそこで演算される。その演算結果は、必要に応じてレジスタなし演算器アレイ１２に入力され、そこで演算され、レジスタ器１３に送られる。また、レジスタ器１３から出力されるデータは、レジスタなし演算器アレイ１２に入力され、必要に応じてそこで演算される。その演算結果は、必要に応じてレジスタ付き演算器ネットワーク１１に入力され、そこで演算され、ビット幅変換器６（７，８）へ出力される。【００２６】
図４は、レジスタなし演算器ネットワークの構成を示す図である。図４に示すように、例えば、レジスタなし演算器ネットワーク１０は、レジスタのない演算器２１〜３２、レジスタファイル３３，３４およびセレクタスイッチ３５，３６を備えている。演算器２１〜３２は、例えば、４行３列のマトリクス状に配置されている。なお、レジスタのない演算器の配置の行数および列数は、この例に限らない。レジスタファイル３３，３４は、前記レジスタ器１３に相当し、フリップフロップにより構成されている。このフリップフロップは、レジスタ付き演算器ネットワーク１１と同じクロックで動作する。【００２７】
前段のレジスタファイル３３は、レジスタ付き演算器ネットワーク１１に接続されている。１列目の演算器２１，２２，２３，２４は、前段のレジスタファイル３３の出力端子に接続されている。前段のセレクタスイッチ３５は、１列目の演算器２１，２２，２３，２４の出力端子に接続されている。２列目の演算器２５，２６，２７，２８は、前段のセレクタスイッチ３５の出力端子に接続されている。後段のセレクタスイッチ３６は、２列目の演算器２５，２６，２７，２８の出力端子に接続されている。３列目の演算器２９，３０，３１，３２は、後段のセレクタスイッチ３６の出力端子に接続されている。【００２８】
後段のレジスタファイル３４は、３列目の演算器２９，３０，３１，３２の出力端子に接続されている。前段のレジスタファイル３３と、前段のセレクタスイッチ３５および後段のセレクタスイッチ３６との間は、相互にデータ送信が可能に接続されている。後段のレジスタファイル３４と、前段のセレクタスイッチ３５および後段のセレクタスイッチ３６との間は、相互にデータ送信が可能に接続されている。【００２９】
前段のセレクタスイッチ３５と後段のセレクタスイッチ３６の間は、前者から後者への一方向のデータ送信が可能になっている。このように、レジスタなし演算器ネットワーク１０の内部では、両端のレジスタファイルの間に、レジスタのない演算器列とセレクタスイッチが、演算器列の間にセレクタスイッチ３５を挟むように、配置されている。なお、レジスタファイル３３，３４の内部にセレクタスイッチがあってもよい。この場合、そのセレクタスイッチもコンフィギュレーションメモリにより制御される。【００３０】
セレクタスイッチ３５，３６は、全体の制御方法を決定しているコンフィギュレーションメモリにより制御される。その制御により、例えば、レジスタ付き演算器ネットワーク１１からレジスタなし演算器ネットワーク１０に入力されたデータは、前段のレジスタファイル３３を経由して１列目の演算器２１，２２，２３，２４のいずれかの演算器、前段のセレクタスイッチ３５または後段のセレクタスイッチ３６へ送られる。１列目の演算器２１，２２，２３，２４のいずれかの演算器に送られた場合、その演算器の演算結果は、前段のセレクタスイッチ３５へ送られる。【００３１】
前段のセレクタスイッチ３５に入力されたデータは、２列目の演算器２５，２６，２７，２８のいずれかの演算器、または後段のセレクタスイッチ３６へ送られるか、前段のレジスタファイル３３へ戻される。２列目の演算器２５，２６，２７，２８のいずれかの演算器に送られた場合、その演算器の演算結果は、後段のセレクタスイッチ３６へ送られる。後段のセレクタスイッチ３６に入力されたデータは、３列目の演算器２９，３０，３１，３２のいずれかの演算器、または後段のレジスタファイル３４へ送られるか、前段のレジスタファイル３３へ戻される。【００３２】
３列目の演算器２９，３０，３１，３２のいずれかの演算器に送られた場合、その演算器の演算結果は、後段のレジスタファイル３４へ送られる。後段のレジスタファイル３４に入力されたデータは、前段のセレクタスイッチ３５または後段のセレクタスイッチ３６へ戻される。前段のレジスタファイル３３に戻されたデータは、再び上述したようにレジスタなし演算器ネットワーク１０内へ送られるか、レジスタ付き演算器ネットワーク１１へ送られる。【００３３】
このように、レジスタなし演算器ネットワーク１０の内部において、データが前段のレジスタファイル３３または後段のレジスタファイル３４を経由する。それによって、データが前段のレジスタファイル３３または後段のレジスタファイル３４からクロックに同期して出力されるので、レジスタなし演算器ネットワーク１０とレジスタ付き演算器ネットワーク１１の同期をとることができる。【００３４】
図５は、レジスタ付き演算器ネットワークの構成を示す図である。図５に示すように、例えば、レジスタ付き演算器ネットワーク１１は、レジスタ付き演算器４１〜５２およびセレクタスイッチ５３を備えている。レジスタ付き演算器４１〜５２は、２列に配置されており、レジスタなし演算器ネットワーク１０と同じクロックで動作する。セレクタスイッチ５３は、１列目の演算器４１〜４６と２列目の演算器４７〜５２の間に配置されており、いずれの演算器４１〜５２とも相互にデータ送信が可能に接続されている。また、セレクタスイッチ５３は、レジスタなし演算器ネットワーク１０に相互にデータ送信が可能に接続されている。【００３５】
図６は、演算制御信号用ネットワークの構成を示す図である。図６に示すように、例えば、演算制御信号用ネットワーク５は、ルックアップテーブルを保持するメモリ部６１、ＡＮＤ（論理積）やＯＲ（論理和）やＩＮＶ（否定）やＮＯＲ（否定論理和）やＥＯＲ（排他的論理和）を実行するロジック部６２およびセレクタスイッチ６３，６４を備えている。３２ビット、１６ビット、８ビットおよび４ビットの各演算器ネットワーク１，２，３，４の演算器からの演算制御信号は、前段のセレクタスイッチ６３を経由してメモリ部６１またはロジック部６２に渡される。【００３６】
メモリ部６１に演算制御信号が渡されると、ルックアップテーブルが参照され、入力された演算制御信号に応じた信号がメモリ部６１から出力される。ロジック部６２に演算制御信号が渡されると、その演算制御信号に応じた論理演算結果がロジック部６２から出力される。メモリ部６１またはロジック部６２から出力された信号は、後段のセレクタスイッチ６４を経由して、同じ演算器ネットワーク内または異なる演算器ネットワーク内の演算器へ送られる。【００３７】
以上説明したように、実施の形態によれば、３２ビット、１６ビット、８ビットおよび４ビットの各演算器ネットワーク１，２，３，４の中から、演算のビット数に応じて、そのビット数に一致するビット幅の演算器により構成される演算器ネットワークが選択され、その選択された演算器ネットワークでもって演算が行われる。また、ある演算器ネットワークから、その演算器ネットワークとは異なるビット幅の演算器からなる別の演算器ネットワークにデータが渡される場合には、ビット幅変換器６，７，８により、データが渡される側の演算器ネットワークのビット幅に合うように、データのビット数が変換される。さらに、演算制御信号用ネットワーク５が全ての演算器ネットワーク１，２，３，４に対して共通であるので、制御信号についての性能悪化が最小限に抑えられる。従って、異なるビット幅の演算器を混載し、演算器のビット幅が演算のビットと異なることによる面積効率の悪化やレイテンシの悪化を防ぐことができる再構成可能な演算装置が得られるという効果を奏する。【００３８】
以上において本発明は、上述した実施の形態に限らず、種々変更可能である。例えば、各演算器ネットワーク１，２，３，４を、唯一のデータネットワークを有し、バススイッチタイプ結合によって非同期ループ結線を抑制した構成としてもよい。また、レジスタのない演算器を用いずに、全ての演算器をレジスタ付き演算器としてもよい。
【産業上の利用可能性】
【００３９】
以上のように、本発明にかかる再構成可能な演算装置は、例えば種々の通信規格に対応可能なソフトウェア無線機に有用であり、特に、複数の通信方式に対応可能な携帯電話機や無線ＬＡＮ（ローカル・エリア・ネットワーク）装置に適している。
【図１】
2008107969.tif 000003
【図２】
2008107969.tif 000004
【図３】
2008107969.tif 000005
【図４】
2008107969.tif 000006
【図５】
2008107969.tif 000007
【図６】
2008107969.tif 000008
【国際調査報告】
2008107969.tif 000009
2008107969.tif 000010
2008107969.tif 000011