説明

半導体装置

【課題】パイプライン処理と逐次処理とを同時に実行可能な動的に回路構成が再構成可能な半導体装置を提供する。
【解決手段】外部プログラムのデコード結果に応じて回路構成が再構成可能な複数の処理部を備えた半導体装置にて、第1動作モードでは、第1処理部に内部プログラムを記憶し、第2処理部にて内部プログラムの命令をデコードして制御信号を生成し、第3処理部がその制御信号を受けて処理を実行し、第2動作モードでは、第1〜第3処理部が外部プログラムのデコード結果に応じた処理を実行するようにして、第1動作モードでは、複数の処理部のうちの第1〜第3処理部を用いて逐次処理を実行するとともに、残りの処理部によりパイプライン処理を実行することにより、パイプライン処理と逐次処理とを同時に実行できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、詳しくは、動的に回路構成を再構成可能な半導体装置に関する。
【背景技術】
【0002】
従来、LSI等の半導体装置は、一般に要求仕様として予め決められた処理を実行するようにANDゲートやORゲート等の配置及びそれらに係る配線を設計工程で決定し、要求仕様に応じた処理を実行可能な半導体装置を製造している。つまり、従来の半導体装置において所望の機能を実現しようとする場合には、回路構成(論理構成)についての設計がゲート単位(ゲートレベル)で行われ、その機能を実現する半導体装置が製造されている。
【0003】
しかし、上述のような半導体装置は、その回路構成が設計工程にて固定されるため、仕様変更などにより異なる要求仕様に応じた処理を実行しようとすると、その都度設計及び製造のすべてを行う必要がある。したがって、多大な労力及び時間を要するとともに、開発コストも高い。
【0004】
この問題を解決する1つの方法として、製造後であっても、論理を再構成し実行する処理を変更可能にしたリコンフィギャラブルLSIと呼ばれる動的に再構成可能な半導体装置がある(例えば、特許文献1〜3参照。)。
【0005】
図5は、従来のリコンフィギャラブルLSIの構成を示す図である。
図5において、CPU51は、図示しないROM等の記憶装置から供給されるプログラムを実行し、リコンフィギャラブルLSI内の各構成部を総括的に制御する。例えば、CPU51は、リコンフィギャラブル回路部56内のプロセッシングエレメント(PE:Processing Element)57やセレクタ58を制御するためのコンフィグレーションデータをリコンフィギャラブル回路部56に供給する。
【0006】
RAM52は、例えばCPU51の主メモリ又はワークエリア等として機能するメモリである。リコンフィグインタフェース部53は、リコンフィギャラブル回路部56内のネットワークNWに対するデータの入出力を行う。
CPU51、RAM52、及びリコンフィグインタフェース部53は、アドレスバス54及びデータバス55に接続され、互いに通信可能に構成されている。
【0007】
リコンフィギャラブル回路部56は、複数のPE57とそれに対応するセレクタ58を有する。また、リコンフィギャラブル回路部56は、データを入出力するためのネットワークNWを有しており、任意のPE57からのデータや外部からのデータを各PE57に対して入力可能である。
【0008】
PE57及びセレクタ58は、供給されるコンフィグレーションデータによって制御される。PE57は、コンフィグレーションデータに応じて、ALU(算術論理演算装置)、RAM(メモリ)、ディレイ回路(遅延回路)、カウンタ等の機能を実現する。
【0009】
また、セレクタ58は、コンフィグレーションデータに応じて、ネットワークNWを介して供給される各PE57等からのデータの中から、対応するPE57に入力するデータを選択する。言い換えれば、セレクタ58は、コンフィグレーションデータに応じて、対応するPE57に接続するネットワークを選択する。
【0010】
【特許文献1】特開2004−221996号公報
【特許文献2】特開2004−221997号公報
【特許文献3】特開2002−208638号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
リコンフィギャラブルLSIは、外部からのコンフィグレーション設定により実行する動作が変更可能であり、パイプライン構成により良好なパフォーマンスを得やすい、またそのネットワーク構成に基づきパラレル処理を実行しやすいといった特徴がある。しかしながら、リコンフィギャラブルLSIは、実行する動作を変更する場合には、一部分だけを変更したい場合であっても、全体に対して変更に係る設定動作を行わなければならず効率が悪い、また逐次処理には適していないといった問題があった。
【0012】
本発明は、パイプライン処理と逐次処理とを同時に実行可能な動的に回路構成が再構成可能な半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明の半導体装置は、外部プログラムのデコード結果に応じて回路構成が再構成可能な複数の処理部を備え、複数の処理部には第1処理部、第2処理部、及び第3処理部を含む。第1動作モードにて、第1処理部は内部プログラムを記憶し、第2処理部は供給される内部プログラムの命令をデコードして制御信号を生成し、第3処理部は制御信号を受けてそれに応じた処理を実行する。第2動作モードでは、第1〜第3処理部は外部プログラムのデコード結果に応じた処理を実行する。
【発明の効果】
【0014】
本発明によれば、第1動作モードでは、複数の処理部のうちの第1〜第3処理部により逐次処理を実行し、残りの処理部によりパイプライン処理を実行することが可能になり、パイプライン処理と逐次処理とを同時に実行し動作効率を向上させることができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態を図面に基づいて説明する。
【0016】
図1は、本発明の一実施形態による半導体装置の構成例を示す図である。本実施形態による半導体装置は、いわゆるリコンフィギャラブルLSIであり、プログラムのデコード結果に応じて動的に回路構成が再構成可能である。
【0017】
図1において、CPU1は、図示しないROM等の記憶装置から供給されるプログラム(外部プログラム)を実行し、半導体装置内の各構成部を総括的に制御する。例えば、CPU1は、回路構成を制御するためのコンフィグレーションデータをリコンフィギャラブル回路部10に供給する。
【0018】
RAM2は、例えばCPU1の主メモリ又はワークエリア等として機能するメモリである。リコンフィグインタフェース部3は、リコンフィギャラブル回路部10内のネットワークNWに対するデータの入出力を行う。
CPU1、RAM2、及びリコンフィグインタフェース部3は、アドレスバス4及びデータバス5に接続され、互いに通信可能に構成されている。
【0019】
リコンフィギャラブル回路部10は、回路構成を再構成可能な複数の処理部を有し、各処理部は、CPU1からのコンフィグレーションデータに応じた処理を実行するプロセッシングエレメント(PE:Processing Element)11及びセレクタ12を有する。PE11は、コンフィグレーションデータに応じて、例えばALU(算術論理演算装置)、RAM(メモリ)、ディレイ回路(遅延回路)、カウンタ等の機能を実現する。
【0020】
また、本実施形態では、PE11に換えて、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部もある。
ここで、シーケンスPE21は、特定の動作モード(第1動作モード)での動作時に、RISCのようなプロセッサ動作を実現させるためのPEである。同様に、第1動作モードでの動作時に、RAM(PE)22は内部プログラムを記憶するプログラムメモリとして機能し、ALU(PE)23はシーケンスPE21からの指示に基づいて動作するALU(算術論理演算装置)として機能し、RAM(PE)24は内部プログラムの実行処理に係るデータを記憶するデータメモリとして機能する。
【0021】
これにより、第1動作モードでの動作時には、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部により、極小的なプロセッサに相当する回路を構築し、内部プログラムに基づく逐次処理(RISCのようなプロセッサ動作)が実行可能である。なお、図1には図示していないが、第1動作モードでの動作時には、上述した動作を実現させるために、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部からなる特別のネットワークを形成するようにしても良い。
【0022】
なお、通常の動作モード(第2動作モード)での通常動作時には、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24は、PE11と同様にコンフィグレーションデータに応じて、例えばALU、RAM、ディレイ回路、カウンタ等の機能を実現する。
【0023】
また、リコンフィギャラブル回路部10は、データを入出力するためのネットワークNWを有しており、任意のPE(シーケンスPE等を含む。)からのデータや外部からのデータを各PE(シーケンスPE等を含む。)に対して入力可能である。
【0024】
セレクタ12は、コンフィグレーションデータに応じて制御され、ネットワークNWを介して供給される各PE等(シーケンスPE等を含む。)からのデータの中から、対応するPEに入力するデータを選択する。言い換えれば、セレクタ12は、コンフィグレーションデータに応じて、対応するPEに接続するネットワークを選択する。
【0025】
図2は、シーケンスPE21の構成例を示す図である。
シーケンスPE21は、カウンタ・アドレス生成部31、命令解析・制御信号生成部32、セレクタ33、及びレジスタ34を有する。
【0026】
カウンタ・アドレス生成部31は、カウンタ機能を有し、制御信号SCIに基づき、第1動作モードでの動作時にはRAM(PE)22に記憶された内部プログラムを読み出すためのプログラムカウンタとして動作し、第2動作モードでの動作時にはカウンタ回路等として使用される。
【0027】
命令解析・制御信号生成部32は、RAM(PE)22から供給される内部プログラムの命令をデコードして制御信号(SCO)を生成して出力する。命令解析・制御信号生成部32から出力される制御信号(SCO)は、RAM(PE)22、ALU(PE)23、RAM(PE)24、カウンタ・アドレス生成部31、セレクタ33、及びレジスタ34に適宜入力される。
【0028】
セレクタ33は、命令解析・制御信号生成部32からの制御信号(SCI)に基づいて、ALU(PE)23での演算対象(データ)を選択する。
【0029】
レジスタ34は、命令解析・制御信号生成部32からの制御信号(SCI)に応じてALU(PE)23での演算結果等を格納する汎用レジスタである。なお、レジスタ34の数及び格納容量は任意である。
【0030】
ここで、カウンタ・アドレス生成部31、RAM(PE)22、ALU(PE)23及びRAM(PE)24には、CPU1からのコンフィグレーションデータ又は命令解析・制御信号生成部32からの制御信号(SCI)の一方を選択するセレクタSEL1、SEL2、SEL3、SEL4が対応して設けられている。セレクタSEL1、SEL2、SEL3、SEL4は、外部からの設定等に応じて、第1動作モード時には命令解析・制御信号生成部32からの制御信号(SCI)を出力し、第2動作モード時にはCPU1からのコンフィグレーションデータを出力する。また、ALU(PE)23及びRAM(PE)24には、外部からの設定等に応じて、入力データを選択するためのセレクタSEL5、SEL6、SEL7、SEL8が設けられている。
【0031】
次に、図1に示した半導体装置の動作について説明する。
【0032】
まず、通常動作時である第2動作モードでの動作について説明する。
図3は、図1に示した半導体装置の第2動作モード時の動作を説明するための図である。この図3において、図1に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。
【0033】
図3において、CRはCPU1からのコンフィグレーションデータを記憶するコンフィグレーションレジスタである。SEL11、SEL21、SEL31、SEL41は、コンフィグレーションレジスタCRより出力されるコンフィグレーションデータ又はシーケンスPE21からの制御信号の一方を選択するセレクタであり、第2動作モード時にはコンフィグレーションレジスタCRより出力されるコンフィグレーションデータを選択して出力する。
【0034】
また、SEL12、SEL13、SEL22、SEL23、SEL32、SEL33、SEL42、SEL43は、入力データを選択するためのセレクタであり、第2動作モード時にはセレクタ12を介して供給されるネットワークNWからのデータを選択し出力する。
【0035】
すなわち、第2動作モード時においては、PE11にはCPU1からのコンフィグレーションデータが供給されるとともに、セレクタ12を介してネットワークNWからのデータが入力される。また、PE11と同様に、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33には、対応するセレクタを介してCPU1からのコンフィグレーションデータがそれぞれ供給されるとともに、セレクタ12及び対応するセレクタを介してネットワークNWからのデータが入力される。これにより、第2動作モード時においては、各PE(シーケンスPE等を含む)では、CPU1からのコンフィグレーションデータに応じて回路構成が再構成されてネットワークNWからの入力データに対する処理(パイプライン処理等)が実行される。
【0036】
次に、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33の処理部によりプロセッサ動作を実現する第1動作モードでの動作について説明する。
【0037】
図4は、図1に示した半導体装置の第1動作モード時の動作を説明するための図である。この図4において、図1及び図3に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。
【0038】
第1の動作モード時においては、PE11にはCPU1からのコンフィグレーションデータが供給されるとともに、セレクタ12を介してネットワークNWからのデータが入力される。
【0039】
また、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33には、SEL11、SEL21、SEL31、SEL41を介してシーケンスPE21からの制御信号が入力される。したがって、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33は、プロセッサ動作において各処理部が担う機能を実現するよう制御される。
【0040】
シーケンスPE21は、内部のカウンタ・アドレス生成部31のカウンタ値等に基づいて、フェッチアドレスfadをRAM(PE)22に対して出力する。シーケンスPE21からのフェッチアドレスfadは、セレクタSEL23を介してRAM(PE)22に入力され、それに応じた命令insがRAM(PE)22からセレクタSEL12を介してシーケンスPE21に供給される。
【0041】
シーケンスPE21は、供給される命令insを内部の命令解析・制御信号生成部32でデコードし、デコード結果に応じた制御信号をRAM(PE)22、ALU(PE)23、及びRAM(PE)33に供給する。
【0042】
ALU23には、シーケンスPE21からセレクタSEL32、SEL33を介して入力データdin1、din2が入力される。ALU23は、入力されたデータdin1、din2を用いて、シーケンスPE21からの制御信号に応じた演算処理を実行し、演算結果を出力データdoutとしてシーケンスPE21に出力する。
【0043】
また、RAM24には、シーケンスPE21からセレクタSEL43を介してアドレスaddが入力される。RAM24は、シーケンスPE21からの制御信号に応じて、入力されるアドレスaddにセレクタSEL42を介して入力されるデータdtiを書き込んだり、アドレスaddから読み出したデータを出力データdtoとしてシーケンスPE21に出力したりする。
【0044】
以上のような制御により、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33により、RISCのようなプロセッサ動作が実現され、内部プログラムに応じた逐次処理が実行される。
【0045】
本実施形態によれば、第2動作モード(通常動作)時には、シーケンスPE21等を含む各PEが、CPU1からのコンフィグレーションデータに応じて回路構成を再構成して所望の処理を実行する。また、第1動作モード時には、各PE11が、CPU1からのコンフィグレーションデータに応じて回路構成を再構成して所望の処理を実行するとともに、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33により極小的にプロセッサに相当する構成を構築して内部プログラムに応じたプロセッサ動作(逐次処理)を実行する。
【0046】
これにより、動的に回路構成を再構成可能なリコンフィギュラブルLSIにて、パイプライン処理と逐次処理とを同時に実行することができ動作効率を向上させることができる。また、実行する動作の一部分だけを変更するような場合には、その変更させる動作を含む処理を、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)33によるプロセッサ動作で実現することにより、変更に係る全体での設定動作を行う必要がなくなり効率を高めることができる。
【0047】
なお、上述した説明では、RAM(PE)22、ALU(PE)23、及びRAM(PE)24をそれぞれ1つずつ設けた場合を一例として示したが、本発明はこれに限定されるものではない。第1動作モードでの動作により実現するプロセッサ動作に応じて、必要な数のRAM(PE)22、ALU(PE)23、及びRAM(PE)24を複数設けるようにして良い。
【0048】
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【0049】
(付記1)
外部プログラムのデコード結果に応じて、動的に回路構成が再構成可能な半導体装置であって、
前記外部プログラムのデコード結果に応じて回路構成を再構成可能な複数の処理部を備え、
前記複数の処理部には、
第1動作モードにて、
内部プログラムを記憶する第1処理部と、
前記第1処理部から供給される前記内部プログラムの命令をデコードして制御信号を生成する第2処理部と、
前記第2処理部からの制御信号を受け、当該制御信号に応じた処理を実行する第3処理部とを含み、
前記第1〜第3処理部は、第2動作モードでは前記外部プログラムのデコード結果に応じた処理を実行することを特徴とする半導体装置。
(付記2)
前記第2処理部は、
カウンタ部と、
前記内部プログラムの命令をデコードし、デコード結果に応じて制御信号を生成する命令解析部とを備えることを特徴とする付記1記載の半導体装置。
(付記3)
前記第3処理部は、
前記第2処理部からの制御信号に応じた演算処理を行う演算処理部と、
前記演算処理部での演算処理に係るデータを記憶する記憶部とを備えることを特徴とする付記1又は2記載の半導体装置。
(付記4)
データを入出力するためのネットワークを備え、
前記処理部は、演算部、及び前記ネットワークを介して供給されるデータの中から前記演算部に入力するデータを選択する第1選択回路をそれぞれ備えることを特徴とする付記1〜3の何れか1項に記載の半導体装置。
(付記5)
前記第1〜第3処理部は、前記第1動作モードであるか前記第2動作モードであるかに応じて切り替えられ、前記第2動作モードでは、前記第1選択回路の出力を選択して前記演算部に供給する第2選択回路をそれぞれ備えることを特徴とする付記4記載の半導体装置。
(付記6)
前記第1動作モードにて、前記第1〜第3処理部からなる特定のネットワーク構成が構築されることを特徴とする付記1〜5の何れか1項に記載の半導体装置。
(付記7)
前記外部プログラムをデコードするCPUと、
前記処理部が接続可能なネットワークにデータを入出力するためのインタフェース部とを備えることを特徴とする付記1〜6の何れか1項に記載の半導体装置。
(付記8)
前記第1〜第3処理部は、前記第1動作モードにて前記内部プログラムに基づく逐次処理を実行することを特徴とする付記1〜7の何れか1項に記載の半導体装置。
【図面の簡単な説明】
【0050】
【図1】本発明の実施形態による半導体装置の構成例を示す図である。
【図2】本実施形態におけるシーケンスPEの構成を示す図である。
【図3】本実施形態による半導体装置の第2動作モード時(通常動作モード)時の動作を説明するための図である。
【図4】本実施形態による半導体装置の第1動作モード(特定モード)時の動作を説明するための図である。
【図5】従来のリコンフィギャラブルLSIの構成を示す図である。
【符号の説明】
【0051】
1 CPU
2 RAM
3 リコンフィグインタフェース部
4 アドレスバス
5 データバス
10 リコンフィギャラブル回路部
11 プロセッシングエレメント(PE)
12 セレクタ
21 シーケンスPE
22、24 RAM(PE)
23 ALU(PE)
31 カウンタ・アドレス生成部
32 命令解析・制御信号生成部
33 セレクタ
34 レジスタ
NW ネットワーク

【特許請求の範囲】
【請求項1】
外部プログラムのデコード結果に応じて、動的に回路構成が再構成可能な半導体装置であって、
前記外部プログラムのデコード結果に応じて回路構成を再構成可能な複数の処理部を備え、
前記複数の処理部には、
第1動作モードにて、
内部プログラムを記憶する第1処理部と、
前記第1処理部から供給される前記内部プログラムの命令をデコードして制御信号を生成する第2処理部と、
前記第2処理部からの制御信号を受け、当該制御信号に応じた処理を実行する第3処理部とを含み、
前記第1〜第3処理部は、第2動作モードでは前記外部プログラムのデコード結果に応じた処理を実行することを特徴とする半導体装置。
【請求項2】
前記第2処理部は、
カウンタ部と、
前記内部プログラムの命令をデコードし、デコード結果に応じて制御信号を生成する命令解析部とを備えることを特徴とする請求項1記載の半導体装置。
【請求項3】
前記第3処理部は、
前記第2処理部からの制御信号に応じた演算処理を行う演算処理部と、
前記演算処理部での演算処理に係るデータを記憶する記憶部とを備えることを特徴とする請求項1又は2記載の半導体装置。
【請求項4】
前記外部プログラムをデコードするCPUと、
前記処理部が接続可能なネットワークにデータを入出力するためのインタフェース部とを備えることを特徴とする請求項1〜3の何れか1項に記載の半導体装置。
【請求項5】
前記第1〜第3処理部は、前記第1動作モードにて前記内部プログラムに基づく逐次処理を実行することを特徴とする請求項1〜4の何れか1項に記載の半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−278326(P2008−278326A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2007−121064(P2007−121064)
【出願日】平成19年5月1日(2007.5.1)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】