(57)【要約】【課題】  再構成可能プロセッサ及び再構成可能プロセッサのミニコアを提供する。【解決手段】  本発明の一態様による再構成可能プロセッサは、第１演算素子グループを含む第１機能ユニットと、第１演算素子グループと異なる第２演算素子グループを含む第２機能ユニットと、第１及び第２機能ユニットを連結するための内部ネットワークを含む多数のミニコアと、それぞれのミニコアを連結するための外部ネットワークと、を含みうる。【選択図】      図１
2013122764.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのミニコアを含み、
前記少なくとも１つのミニコアのそれぞれは、互いに異なる計算機能力を有する少なくとも２つの機能ユニットを含む、再構成可能プロセッサ。
【請求項２】
前記それぞれの機能ユニットは、演算を処理するための少なくとも１つの演算素子を含む、請求項１に記載の再構成可能プロセッサ。
【請求項３】
前記それぞれの機能ユニットの計算機能力は、前記それぞれの機能ユニットの内部に形成された前記演算素子の種類に基づいて定められる、請求項２に記載の再構成可能プロセッサ。
【請求項４】
前記それぞれの機能ユニット間に共通しない演算素子が少なくとも１つ存在する、請求項１又は２に記載の再構成可能プロセッサ。
【請求項５】
前記機能ユニットの前記演算素子は、２以上の機能ユニットに含まれる少なくとも１つの演算素子をさらに含む、請求項２乃至４のいずれか一項に記載の再構成可能プロセッサ。
【請求項６】
前記それぞれのミニコアは、前記それぞれの機能ユニットを連結するための内部ネットワークをさらに含む、請求項１乃至５のいずれか一項に記載の再構成可能プロセッサ。
【請求項７】
前記それぞれのミニコアを連結するための外部ネットワークをさらに含む請求項１乃至６のいずれか一項に記載の再構成可能プロセッサ。
【請求項８】
第１演算素子グループを含む第１機能ユニットと、
前記第１演算素子グループと異なる第２演算素子グループを含む第２機能ユニットと、
前記第１及び第２機能ユニットを連結するための内部ネットワークを含む複数のミニコアと、
前記それぞれのミニコアを連結するための外部ネットワークと、
を含む再構成可能プロセッサ。
【請求項９】
前記第１演算素子グループと前記第２演算素子グループとの間に共通しない演算素子が少なくとも１つ存在する、請求項８に記載の再構成可能プロセッサ。
【請求項１０】
前記第１演算素子グループと前記第２演算素子グループは、前記第１演算素子グループと前記第２演算素子グループとにいずれも属する少なくとも１つの演算素子をさらに含む、請求項９に記載の再構成可能プロセッサ。
【請求項１１】
前記それぞれのミニコアは、所定の全計算機能力を有し、
前記第１及び第２機能ユニットは、前記全計算機能力の一部である部分計算機能力を有する請求項１乃至１０のいずれか一項に記載の再構成可能プロセッサ。
【請求項１２】
前記再構成可能プロセッサは、
前記ミニコアに基づいたＣＧＡ（Ｃｏａｒｓｅ  Ｇｒａｉｎｅｄ  Ａｒｒａｙ）またはＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）プロセッサであることを特徴とする請求項１ないし１１のいずれか一項に記載の再構成可能プロセッサ。
【請求項１３】
前記それぞれのミニコアは、前記ＣＧＡプロセッサまたは前記ＶＬＩＷプロセッサでの設計基本単位または拡張基本単位と定められる、請求項１２に記載の再構成可能プロセッサ。
【請求項１４】
前記ミニコアが、コースグレインアレイ（ＣＧＡ）モードとＶＬＩＷモードとを切り換えるように制御するモード制御信号を生成させるモード制御部をさらに含む、請求項１ないし１３のいずれか一項に記載の再構成可能プロセッサ。
【請求項１５】
前記ミニコアが、前記ＣＧＡモードであるときには、第１ミニコアグループがＧＣＡプロセッサで動作し、
前記ミニコアが、前記ＶＬＩＷモードであるときには、第２ミニコアグループがＶＬＩＷプロセッサで動作する、請求項１４に記載の再構成可能プロセッサ。
【請求項１６】
前記ミニコアのうちの如何なるものも、前記第１ミニコアグループと前記第２ミニコアグループのいずれにも属しない、請求項１５に記載の再構成可能プロセッサ。
【請求項１７】
前記ミニコアのうちの少なくとも１つは、前記第１ミニコアグループと前記第２ミニコアグループとにいずれも属する、請求項１５に記載の再構成可能プロセッサ。
【請求項１８】
前記ＣＧＡモードで、前記第１ミニコアグループの間の連結についての設定情報を保存する構成メモリと、
前記外部ネットワークに連結され、前記ＣＧＡモードで、前記第１ミニコアグループのコンテキスト情報を保存するグローバルレジスタファイルと、
前記外部ネットワークに連結され、前記ＶＬＩＷモードで、前記第２ミニコアＶＬＩＷグループによって処理されるＶＬＩＷを保存するＶＬＩＷメモリと、
をさらに含む請求項１４乃至１７のいずれか一項に記載の再構成可能プロセッサ。
【請求項１９】
第１演算素子グループを含む第１機能ユニットと、
前記第１演算素子グループと異なる第２演算素子グループを含む第２機能ユニットと、
前記第１及び第２機能ユニットを連結するための内部ネットワークと、
を含む再構成可能プロセッサのミニコア。
【請求項２０】
前記第１演算素子グループと前記第２演算素子グループは、前記第１演算素子グループと前記第２演算素子グループとのうちの如何なるものにも属しない少なくとも１つの演算素子を含む、請求項１９に記載の再構成可能プロセッサのミニコア。
【請求項２１】
前記第１演算素子グループと前記第２演算素子グループは、前記第１演算素子グループと前記第２演算素子グループとにいずれも属する少なくとも１つの演算素子をさらに含む請求項１９又は２０に記載の再構成可能プロセッサのミニコア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能プロセッサ（Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）に関する。
【背景技術】
【０００２】
通常、再構成可能アーキテクチャー（Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ）とは、所定の作業を行うためのコンピュータ装置のハードウェア構成をそれぞれの作業に最適化されるように変更することができるアーキテクチャーを意味する。
【０００３】
所定の作業をハードウェアでのみ処理する場合、固定されたハードウェアの機能によって、作業内容に少しでも変更が加えられれば、これを効率的に処理することは難しい。また、所定の作業をソフトウェアでのみ処理する場合、その作業内容に合わせてソフトウェアを変更して処理することが可能であるが、ハードウェア処理に比べて速度が遅い。
【０００４】
再構成可能アーキテクチャーは、このようなハードウェア／ソフトウェアの長所をいずれも満足させることができる。特に、同じ作業が反復的に行われるデジタル信号処理分野では、このような再構成可能アーキテクチャーが多くの注目を浴びている。
【０００５】
再構成可能アーキテクチャーの種類は、さまざまがあるが、そのうち、コースグレインアレイ（Ｃｏａｒｓｅ−Ｇｒａｉｎｅｄ  Ａｒｒａｙ：ＣＧＡ）が代表的である。ＣＧＡは、複数個の同じ計算機能力を有する機能ユニットからなる。そして、機能ユニット間の連結状態が調節されることによって、所定の作業に最適化することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、再構成可能プロセッサ及び再構成可能プロセッサのミニコアを提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様による再構成可能プロセッサは、少なくとも１つのミニコアを含み、前記少なくとも１つのミニコアのそれぞれは、互いに異なる計算機能力を有する少なくとも２つの機能ユニットを含みうる。
【０００８】
本発明の他の態様による再構成可能プロセッサは、第１演算素子グループを含む第１機能ユニットと、前記第１演算素子グループと異なる第２演算素子グループを含む第２機能ユニットと、前記第１及び第２機能ユニットを連結するための内部ネットワークを含む多数のミニコアと、前記それぞれのミニコアを連結するための外部ネットワークと、を含みうる。
【０００９】
本発明のさらに他の態様による再構成可能プロセッサのミニコアは、第１演算素子グループを含む第１機能ユニットと、前記第１演算素子グループと異なる第２演算素子グループを含む第２機能ユニットと、前記第１及び第２機能ユニットを連結するための内部ネットワークと、を含みうる。
【発明の効果】
【００１０】
本発明の実施形態によると、再構成可能プロセッサ及びそのミニコアの資源消耗を最小化するとともに、優れた拡張性を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による再構成可能プロセッサを示す図である。
【図２】本発明の一実施形態による再構成可能プロセッサのミニコアを示す図である。
【図３】本発明の他の実施形態による再構成可能プロセッサのミニコアを示す図である。
【図４】本発明の他の実施形態による再構成可能プロセッサを示す図である。
【発明を実施するための形態】
【００１２】
以下、添付した図面を参照して、本発明の実施のための具体的な例を詳しく説明する。
【００１３】
図１は、本発明の一実施形態による再構成可能プロセッサを示す。図１を参照すると、本実施形態による再構成可能プロセッサ１００は、多数のミニコア１０１ａ〜１０１ｄ、及びそれぞれのミニコア１０１ａ〜１０１ｄを連結する外部ネットワーク１０２を含みうる。
【００１４】
それぞれのミニコア１０１ａ〜１０１ｄは、相互に独立して命令、ジョブ、またはタスクなどを処理することができる。例えば、ＭＣ＃０（１０１ａ）とＭＣ＃１（１０１ｂ）は、互いに依存関係がない２つの命令を同時に処理することが可能である。
【００１５】
それぞれのミニコア１０１ａ〜１０１ｄは、再構成可能プロセッサ１００の設計基本単位または拡張基本単位になりうる。例えば、図１では、４個のミニコア１０１ａ〜１０１ｄが形成されるものを例示したが、これは、理解を助けるためのものであって、８個または１６個のように拡張されることが可能である。
【００１６】
それぞれのミニコア１０１ａ〜１０１ｄは、所定の全計算機能力を有しうる。本実施形態で、計算機能力とは、演算処理能力、すなわち、あるシステムがどれほど多くの種類の演算を処理することができるか否かを表わす。したがって、あるシステムの計算機能力は、そのシステムが提供することができる演算の種類に基づいて定めることができる。例えば、演算Ａと演算Ｂとを提供するシステムと演算Ｃと演算Ｄとを提供するシステムは、互いに計算機能力が異なると言える。また、演算Ａ、Ｂ、Ｃを提供するシステムと演算Ａ、Ｂ、Ｃ、Ｄを提供するシステムは、互いに計算機能力が異なり、特に、後者のシステムの計算機能力が高い、または多いと言える。参考までに、ここで例示したそれぞれの演算Ａ、Ｂ、Ｃ、及びＤは、‘足し算’、‘掛け算’、‘論理和’、‘論理積’などの演算になりうる。但し、これは、理解を助けるための単純な例に過ぎないものであって、本実施形態の範囲が、例示された演算に限定されず、それ以外に、算術、論理、スカラー、ベクトル演算のように多様な演算にも適用可能であるということは自明である。
【００１７】
それぞれのミニコア１０１ａ〜１０１ｄは、互いに異なる計算機能力を有する多数の機能ユニットを含みうる。言い換えれば、それぞれのミニコア１０１ａ〜１０１ｄが有する全計算機能力は、それぞれのミニコア１０１ａ〜１０１ｄ内部の機能ユニットに分けられ、部分計算機能力としてそれらの機能ユニットにマッピングされうる。例えば、ＭＣ＃０（１０１ａ）の内部に形成されたそれぞれの機能ユニットは、ＭＣ＃０（１０１ａ）の全計算機能力を分けて有することが可能である。したがって、ＭＣ＃０（１０１ａ）の内部に形成されたそれぞれの機能ユニットが有する部分計算機能力の組み合わせによって、ＭＣ＃０（１０１ａ）の全計算機能力が定められると見なすこともできる。それぞれのミニコア１０１ａ〜１０１ｄの内部の具体的な構成は、図２及び図３を参照して後述する。
【００１８】
ミニコア１０１ａ〜１０１ｄに連結された外部ネットワーク１０２は、それぞれのミニコア１０１ａ〜１０１ｄを通信可能になるように互いに連結する。例えば、ＭＣ＃０（１０１ａ）から生成されたデータが、外部ネットワーク１０２を通じてＭＣ＃３（１０１ｄ）に伝達されうる。それぞれのミニコア１０１ａ〜１０１ｄは、複数のチャネルを通じて外部ネットワーク１０２とデータを送受信することができる。
【００１９】
外部ネットワーク１０２、すなわち、ミニコア１０１ａ〜１０１ｄの間の接続に関する構成は、別個のメモリ（図示せず）に保存された設定情報によって変更されうる。
【００２０】
ミニコア１０１ａ〜１０１ｄ間の計算機能力は、同一でもあり、異なることもある。
【００２１】
それぞれのミニコア１０１ａ〜１０１ｄは、専用のローカルレジスタファイル（Ｌｏｃａｌ  Ｒｅｇｉｓｔｅｒ  Ｆｉｌｅ：ＬＲＦ）（図示せず）を有することもある。
【００２２】
それぞれのミニコア１０１ａ〜１０１ｄは、専用ＬＲＦを用いて他のミニコアの専用ＬＲＦにデータをプッシュし、他のミニコアから自分の専用ＬＲＦにプッシュされたデータを処理することができる。
【００２３】
本発明のさらに他の追加的態様によって、再構成可能プロセッサ１００は、ＣＧＡ（Ｃｏａｒｓｅ  Ｇｒａｉｎｅｄ  Ａｒｒａｙ）プロセッサまたはＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）プロセッサで動作することができる。例えば、第１モードで、４個のミニコア１０１ａ〜１０１ｄが、ＣＧＡアーキテクチャーに基づいてループ演算を処理し、第２モードで、一部のミニコア（例えば、ＭＣ＃０（１０１ａ）及びＭＣ＃２（１０１ｃ））が、ループ以外の一般演算を処理することが可能である。このようなモード切り替えのために、再構成可能プロセッサ１００は、モード切り替え時のＬｉｖｅ−Ｉｎ／Ｌｉｖｅ−Ｏｕｔデータを臨時に保存するためのグローバルレジスタファイル（Ｇｌｏｂａｌ  Ｒｅｇｉｓｔｅｒ  Ｆｉｌｅ：ＧＲＦ）（図示せず）を含むこともある。
【００２４】
図２は、本発明の一実施形態によるミニコアの構成を示す。図２を参照すると、本実施形態によるミニコア２００は、多数の機能ユニット２０１、２０２、及びそれぞれの機能ユニット２０１、２０２を連結する内部ネットワーク２０３を含みうる。参考までに、図２では、理解を助けるために、２個の機能ユニット２０１、２０２のみを有するものを例示したが、機能ユニットの数は４個、８個、１６個、またはそれ以上であってもよいことは自明である。
【００２５】
機能ユニット２０１は、演算素子Ａ（２１０）及び演算素子Ｂ（２１１）を含み、機能ユニット２０２は、演算素子Ｃ（２１２）及び演算素子Ｄ（２１３）を含む。本実施形態で、演算素子Ａ（２１０）は、演算Ａを処理する回路またはモジュールになりうる。例えば、演算Ａが‘足し算’であれば、演算素子Ａ（２１０）は‘加算器’になりうる。
【００２６】
それぞれの機能ユニット２０１、２０２は、互いに異なる計算機能力を有しうる。例えば、それぞれの機能ユニット２０１、２０２は、ミニコア２００が有している全計算機能力を分けて有することが可能である。一例として、ミニコア２００が、演算Ａ、Ｂ、Ｃ、Ｄを処理する能力（全計算機能力）があると仮定すれば、ＦＵ＃０（２０１）は、そのうち演算Ａ及びＢを処理する能力（第１部分計算機能力）があり、ＦＵ＃１（２０２）は、演算Ｃ及びＤを処理する能力（第２部分計算機能力）がある。
【００２７】
互いに異なる計算機能力は、保有している演算素子（ｏｐｅｒａｔｉｏｎ  ｅｌｅｍｅｎｔ）の種類によって決定されうる。言い換えれば、ＦＵ＃０（２０１）が有する演算素子２１０、２１１の種類とＦＵ＃１（２０２）が有する演算素子２１２、２１３の種類が、互いに異なりうる。例えば、ＦＵ＃０（２０１）は、演算素子Ａ（２１０）と演算素子Ｂ（２１１）とで構成される第１演算素子グループを有し、ＦＵ＃１（２０２）は、演算素子Ｃ（２１２）と演算素子Ｄ（２１３）とで構成される第２演算素子グループを有しうる。但し、それぞれの演算素子が完全に異なる必要はなく、それぞれの機能ユニット２０１、２０２が共通しない、すなわち、機能ユニット２０１、２０２のうちの如何なるものにも含まれない、演算素子が少なくとも１つ存在すれば十分である。例えば、図２と異なって、ＦＵ＃０（２０１）には、演算素子Ａ、Ｂが形成され、ＦＵ＃１（２０２）には、演算素子Ａ、Ｂ、Ｃが形成される場合にも、ＦＵ＃０（２０１）とＦＵ＃１（２０２）は、互いに異なる計算機能力を有しうる。
【００２８】
機能ユニット２０１、２０２に連結された内部ネットワーク２０３は、それぞれの機能ユニット２０１、２０２を通信可能になるように連結する。例えば、ＦＵ＃０（２０１）から生成されたデータが、内部ネットワーク２０３を通じてＦＵ＃１（２０２）に伝達されうる。
【００２９】
内部ネットワーク２０３の構成は、設定情報によって変更されうる。例えば、別個のメモリ（図示せず）に保存された設定情報に基づいて、内部ネットワーク２０３の構成、すなわち、機能ユニット２０１、２０２間の連結状態が変更されうる。
【００３０】
追加の態様によって、それぞれの機能ユニット２０１、２０２は、専用のローカルレジスタファイル（ＬＲＦ）（図示せず）を有することもある。それぞれの機能ユニット２０１、２０２は、専用ＬＲＦを用いて他の機能ユニットの専用ＬＲＦにデータをプッシュし、他の機能ユニットから自分の専用ＬＲＦにプッシュされたデータを処理することができる。
【００３１】
図３は、本発明の他の実施形態によるミニコアの構成を示す。図３を参照すると、本実施形態によるミニコア３００は、多数の機能ユニット３０１ａ〜３０１ｄ、及びそれぞれの機能ユニット３０１ａ〜３０１ｄを連結する内部ネットワーク３０２を含みうる。参考までに、図３で、基本構成及び内部ネットワーク３０２に関する説明は、図２の説明と同一なので、ここでは詳しい説明を省略する。
【００３２】
図３で、ミニコア３００は、演算Ａ、Ｂ、Ｃ、Ｄ、Ｅの処理能力を支援する。言い換えれば、ミニコア３００の全計算機能力は、演算Ａ、Ｂ、Ｃ、Ｄ、Ｅに対応する。
【００３３】
ミニコア３００の内部の各機能ユニット３０１ａ〜３０１ｄは、全計算機能力の一部を有する。例えば、ＦＵ＃０（３０１ａ）及びＦＵ＃１（３０１ｂ）には、演算素子Ａ（３２０ａ）と演算素子Ｂ（３２１ａ）とが形成され、ＦＵ＃２（３０１ｃ）には、演算素子Ａ（３２０ｃ）と演算素子Ｃ（３２２）とが形成され、ＦＵ＃３（３０１ｄ）には、演算素子Ａ（３２０ｄ）と演算素子Ｄ（３２３）、及び演算素子Ｅ（３２４）とが形成されうる。
【００３４】
ミニコア３００は、互いに異なる計算機能力を有する少なくとも２つの機能ユニットを含みうる。例えば、計算機能力が一致しない機能ユニットの対が少なくとも１つ存在し、あらゆる機能ユニットに共通的ではない演算素子が少なくとも１つ存在すれば、本実施形態によるミニコア３００の要求条件を満足することができる。
【００３５】
言い換えれば、ＦＵ＃０（３０１ａ）とＦＵ＃１（３０１ｂ）のように、ある一部の機能ユニットの計算機能力が同一であるとしても、ＦＵ＃０（３０１ａ）とＦＵ＃２（３０１ｃ）のように、計算機能力が同一ではない機能ユニットが一対でも存在すれば、ミニコア３００の全計算機能力は分散されうる。また、演算素子Ａ（３２０ａ）のように、ある一部の演算素子が、あらゆる機能ユニット３０１ａ〜３０１ｄに共通的であるとしても、演算素子Ｂ（３２１ｂ）、Ｃ（３２２）、Ｄ（３２３）、及びＥ（３２４）のように、そうではない演算素子が１つでも存在すれば、ミニコア３００の全計算機能力は分散されうる。
【００３６】
図４は、本発明の他の実施形態による再構成可能プロセッサを示す。図４を参照すると、再構成可能プロセッサ４００は、処理部４０１、及びモード制御部４０２を含みうる。
【００３７】
処理部４０１は、多数のミニコアＭＣ＃０〜＃１９、及びミニコアＭＣ＃０〜＃１９と連結された外部ネットワーク（図示せず、図１の外部ネットワーク１０２と類似している）を含みうる。すなわち、それぞれのミニコアＭＣ＃０〜＃１９は、本実施形態による再構成可能プロセッサ４００の設計基本単位または拡張基本単位になりうる。それぞれのミニコアＭＣ＃０〜＃１９は、図２及び図３のように構成することができる。
【００３８】
処理部４０１は、２つの実行モードを有しうる。例えば、処理部４０１は、ループ演算を処理するためのＣＧＡモードとループ演算以外の他の演算を処理するためのＶＬＩＷモードとを有しうる。
【００３９】
ＣＧＡモードで、処理部４０１は、ＣＧＡモジュール４１１として動作する。ＣＧＡモジュール４１１は、ＭＣ＃４ないしＭＣ＃１９の１６個のミニコアと構成メモリ４１３とを含みうる。構成メモリ４１３は、処理部４０１の外部ネットワーク（図示せず）に連結されて、ミニコアＭＣ＃４〜＃１９が外部ネットワークを通じて構成メモリ４１３に接続させる。それぞれのＭＣ＃４ないしＭＣ＃１９は、あるループを並列処理することが可能である。ＭＣ＃４ないしＭＣ＃１９の連結またはネットワーク構造は、ＣＧＡモジュール４１１が処理しようとするループの種類によって最適化されうる。ＭＣ＃４ないしＭＣ＃１９の連結構造またはネットワーク構造を表わす設定情報は、構成メモリ４１３に保存される。言い換えれば、ＣＧＡモードで、処理部４０１は、構成メモリ４１３に保存された設定情報に基づいて、ＣＧＡモジュール４１１に基づいてあるループを処理することができる。
【００４０】
ＶＬＩＷモードで、処理部４０１は、ＶＬＩＷモジュール４１２として動作する。ＶＬＩＷモジュール４１２は、ＭＣ＃０ないしＭＣ＃３の４個のミニコアとＶＬＩＷメモリ４１４とを含みうる。ＶＬＩＷメモリ４１４は、処理部４０１の外部ネットワーク（図示せず）に連結されて、ＶＩＬＷメモリ４１４が外部ネットワークを通じて構成メモリ４１３に接続させる。それぞれのＭＣ＃０ないしＭＣ＃３は、ＶＬＩＷメモリ４１４に保存された超長命令語をＶＬＩＷアーキテクチャーによって処理する。言い換えれば、ＶＬＩＷモードで、処理部４０１は、ＶＬＩＷメモリ４１４に保存された命令によって、ＶＬＩＷモジュール４１２に基づいて演算を処理することができる。
【００４１】
追加の態様によって、幾つかのミニコアを、ＶＬＩＷモード及びＣＧＡモードで共有することができる。例えば、図４で、ＭＣ＃０ないしＭＣ＃４を除き、ＣＧＡモジュールで用いられるＭＣ＃５ないしＭＣ＃８は、ＶＬＩＷモードでＶＬＩＷ装置として動作することもできる。
【００４２】
モード制御部４０２は、ＣＧＡモードからＶＬＩＷモードへの切り替え、またはＶＬＩＷモードからＣＧＡモードへの切り替えを制御する。モード制御部４０２は、所定のモード切り替え信号またはモード切り替え命令語を生成することができる。例えば、処理部４０１は、ＣＧＡモードでループ演算を処理しながら、モード制御部４０２のモード切り替え信号によって、ＶＬＩＷモードに切り替えられ、ループ演算ではない他の演算を処理することができる。この際、ループ実行結果は、グローバルレジスタファイル４１５に臨時に保存される。また、ＶＬＩＷモードで動作中である処理部４０１は、モード制御部４０２の制御信号によって、ＣＧＡモードに切り替えられ、グローバルレジスタファイル４１５からコンテキスト情報を持って来て、以前に処理するループ演算を引き続き処理することができる。
【００４３】
前述したように、開示された実施形態によれば、全計算機能力を分割して機能ユニットに分配し、その機能ユニットの組み合わせで基本処理単位であるミニコアを設計するために、高周波数環境で不要な資源消耗を最小化すると同時に、性能を高めることが可能である。また、各ミニコアは全計算機能力を有するので、ミニコア単位で再構成可能プロセッサをデザインすれば、優れた拡張性を確保することができる。
【００４４】
ＣＧＡは、ＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサまたはマルチイシュープロセッサ（Ｍｕｌｔｉ−Ｉｓｓｕｅ  Ｐｒｏｃｅｓｓｏｒ）と資源とを共有することができる。前述した再構成可能プロセッサが、マルチイシュープロセッサと資源を共有する時には、マルチイシュープロセッサのそれぞれのイシュースロットは、再構成可能プロセッサのミニコアのうちの１つで形成されるか、再構成可能プロセッサのミニコアのうちの１つの機能ユニットのうちの１つで形成されうる。前述した再構成可能プロセッサは、画像処理プロセッサ（Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ：ＩＰ）として使われ、ビデオシステム及びオーディオシステムに適用されるか、映像処理及び３Ｄグラフィック処理に活用されるか、カメラ、ＭＰ３プレーヤー、携帯電話、タブレット製品に適用可能である。但し、これは、単に例示に過ぎず、再構成可能プロセッサは、前述した再構成可能プロセッサが提供する長所を活用することができる如何なる活用例にも適用が可能である。
【００４５】
前述した実施形態は、本発明を例示的に説明するためのものであって、本発明の権利範囲が、特定の実施形態に限定されるものではない。
【産業上の利用可能性】
【００４６】
本発明は、再構成可能プロセッサ及び再構成可能プロセッサのミニコア関連の技術分野に適用可能である。
【符号の説明】
【００４７】
１０１ａ〜ｄ、２００、３００、４００  ミニコア
１０２  外部ネットワーク
２０１、２０２、３０１ａ〜ｃ  機能ユニット
２１０〜２１３、３２０ａ〜ｄ、３２１ａ〜ｂ、３２２〜３２４  演算素子
２０３、３０２  内部ネットワーク
４０１  処理部
４０２  モード制御部
４１１  ＣＧＡモジュール
４１２  ＶＬＩＷモジュール
４１３  構成メモリ
４１４  ＶＬＩＷメモリ
４１５  グローバルレジスタファイル
【図１】
2013122764.tif 000003
【図２】
2013122764.tif 000004
【図３】
2013122764.tif 000005
【図４】
2013122764.tif 000006