JP2010087880A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2010087880A
JP2010087880A JP2008255259A JP2008255259A JP2010087880A JP 2010087880 A JP2010087880 A JP 2010087880A JP 2008255259 A JP2008255259 A JP 2008255259A JP 2008255259 A JP2008255259 A JP 2008255259A JP 2010087880 A JP2010087880 A JP 2010087880A
Authority
JP
Japan
Prior art keywords
processing
ram
storage area
data
semiconductor integrated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008255259A
Other languages
English (en)
Inventor
Tetsuo Kono
哲雄 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008255259A priority Critical patent/JP2010087880A/ja
Publication of JP2010087880A publication Critical patent/JP2010087880A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】回路構成を再構成可能であって、パイプライン処理と逐次処理を同時に且つ効率良く実行可能な半導体集積回路を提供する。
【解決手段】外部プログラムのデコード結果に応じて回路構成を再構成可能な複数の処理部を備えた半導体集積回路にて、内部プログラムを記憶する第1処理部、内部プログラムの命令をデコードして制御信号を生成する第2処理部、制御信号を受けて処理を行う第3処理部、第1の記憶領域と第2の記憶領域を有する第4処理部を備え、第1動作モードでは、第4処理部の一方の記憶領域は第1〜第4処理部からなる第1のネットワーク構成に接続されて第3処理部の処理結果を保持し、他方の記憶領域は第2のネットワーク構成に接続されるようにして、第1及び第2のネットワーク構成により逐次処理及びパイプライン処理をそれぞれ実行でき、かつ第4処理部を同時にアクセスできるようにする。
【選択図】図2

Description

本発明は、半導体集積回路に関し、詳しくは回路構成を再構成可能な半導体集積回路に関する。
従来、LSI等の半導体集積回路は、一般に要求仕様として予め決められた処理を実行するようにANDゲートやORゲート等の配置及びそれらに係る配線を設計工程で決定し、要求仕様に応じた処理を実行可能な半導体集積回路を製造している。つまり、従来の半導体集積回路において所望の機能を実現しようとする場合には、回路構成(論理構成)についての設計がゲート単位(ゲートレベル)で行われ、その機能を実現する半導体集積回路が製造されている。
しかし、上述のような半導体集積回路は、その回路構成が設計工程にて固定されるため、仕様変更等により異なる要求仕様に応じた処理を実行しようとすると、その都度設計及び製造のすべてを行う必要がある。したがって、多大な労力及び時間を要するとともに、開発コストも高い。
この問題を解決する1つの方法として、製造後であっても、論理を再構成し実行する処理を変更可能にしたリコンフィギュラブルLSIと呼ばれる動的に再構成可能な半導体集積回路がある(例えば、特許文献1〜3参照。)
図8は、従来のリコンフィギュラブルLSIの構成を示す図である。
図8において、CPU81は、図示しないROM等の記憶装置から供給されるプログラムを実行し、リコンフィギュラブルLSI内の各構成部を総括的に制御する。例えば、CPU81は、リコンフィギュラブル回路部86内のプロセッシングエレメント(PE:Processing Element)87やセレクタ88を制御するためのコンフィグレーションデータをリコンフィギュラブル回路部86に供給する。
RAM82は、例えばCPU81の主メモリ又はワークエリア等として機能するメモリである。リコンフィグインタフェース部83は、リコンフィギュラブル回路部86内のネットワークNWに対するデータの入出力を行う。
CPU81、RAM82、及びリコンフィグインタフェース部83は、アドレスバス84及びデータバス85に接続され、互いに通信可能に構成されている。
リコンフィギュラブル回路部86は、複数のPE87とそれに対応するセレクタ88を有する。また、リコンフィギュラブル回路部86は、データを入出力するためのネットワークNWを有しており、任意のPE87からのデータや外部からのデータを各PE87に対して入力可能である。
PE87及びセレクタ88は、供給されるコンフィグレーションデータによって制御される。PE87は、コンフィグレーションデータに応じて、ALU(算術論理演算装置)、RAM(メモリ)、ディレイ回路(遅延回路)、カウンタ等の機能を実現する。
また、セレクタ88は、コンフィグレーションデータに応じて、ネットワークNWを介して供給される各PE87等からのデータの中から、対応するPE87に入力するデータを選択する。言い換えれば、セレクタ88は、コンフィグレーションデータに応じて、対応するPE87に接続するネットワークを選択する。
特開2004−221996号公報 特開2004−221997号公報 特開2002−208638号公報
リコンフィギュラブルLSIは、外部からのコンフィグレーション設定により実行する動作が変更可能であり、パイプライン構成により良好なパフォーマンスを得やすい、またそのネットワーク構成に基づきパラレル処理を実行しやすいといった特徴がある。しかしながら、リコンフィギュラブルLSIは、実行する動作を変更する場合には、一部分だけを変更したい場合であっても、全体に対して変更に係る設定動作を行わなければならず効率が悪い、また逐次処理には適していないといった問題があった。
本発明は、回路構成を再構成可能であって、パイプライン処理と逐次処理とを同時に且つ効率良く実行可能な半導体集積回路を提供することを目的とする。
本発明の一観点によれば、外部プログラムのデコード結果に応じて回路構成を再構成可能な複数の処理部を備え、複数の処理部は、第1処理部、第2処理部、第3処理部、及び第4処理部を含む半導体集積回路が提供される。第1処理部は内部プログラムを記憶し、第2処理部は供給される内部プログラムの命令をデコードして制御信号を生成し、第3処理部は制御信号を受けてそれに応じた処理を実行し、第4処理部は第1の記憶領域と第2の記憶領域を有する。第1動作モードにて、第1〜第4処理部を有する特定の第1のネットワーク構成が構築され、第1の記憶領域及び第2の記憶領域の一方の記憶領域は第1のネットワーク構成に接続されて第3処理部の処理結果を保持し、他方の記憶領域は第2のネットワーク構成に接続される。
本発明によれば、第1動作モードでは、複数の処理部のうちの第1〜第4処理部を有する第1のネットワーク構成により逐次処理を実行し、第1のネットワーク構成とは別の第2のネットワーク構成によりパイプライン処理を実行することが可能になる。また、第4処理部が有する第1の記憶領域及び第2の記憶領域の一方の記憶領域を第1のネットワーク構成からアクセスし、他方の記憶領域を第2のネットワーク構成からアクセスすることが可能になる。したがって、パイプライン処理と逐次処理とを同時に且つ効率良く実行することができる。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態に係る半導体集積回路の構成例を示す図である。本実施形態に係る半導体集積回路は、いわゆるリコンフィギュラブルLSIであり、プログラムのデコード結果に応じて動的に回路構成が再構成可能である。
図1において、CPU1は、図示しないROM等の記憶装置から供給されるプログラム(外部プログラム)を実行し、半導体集積回路内の各構成部を統括的に制御する。例えば、CPU1は、回路構成を制御するためのコンフィグレーションデータをリコンフィギュラブル回路部10に供給する。
RAM2は、例えばCPU1の主メモリ又はワークエリア等として機能するメモリである。リコンフィグインタフェース部3は、リコンフィギュラブル回路部10内のネットワークNWに対するデータの入出力を行う。
CPU1、RAM2、及びリコンフィグインタフェース部3は、アドレスバス4及びデータバス5に接続され、互いに通信可能に構成されている。
リコンフィギュラブル回路部10は、回路構成を再構成可能な複数の処理部を有し、各処理部は、CPU1からのコンフィグレーションデータに応じた処理を実行するプロセッシングエレメント(PE:Processing Element)11及びセレクタ12を有する。PE11は、コンフィグレーションデータに応じて、例えばALU(算術論理演算装置)、RAM(メモリ)、ディレイ回路(遅延回路)、カウンタ等の機能を実現する。
また、本実施形態では、PE11に換えて、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部もある。
ここで、シーケンスPE21は、特定の動作モード(第1動作モード)での動作時に、RISCのようなプロセッサ動作を実現させるためのPEである。同様に、第1動作モードでの動作時に、RAM(PE)22は内部プログラムを記憶するプログラムメモリとして機能し、ALU(PE)23はシーケンスPE21からの指示に基づいて動作するALU(算術論理演算装置)として機能する。また、第1動作モードでの動作時に、RAM(PE)24は内部プログラムの実行処理に係るデータを記憶するデータメモリとして機能する。
これにより、第1動作モードでの動作時には、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部により、極小的なプロセッサに相当する回路(第1のネットワーク構成)が構築される。このシーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部により、内部プログラムに基づく逐次処理(RISCのようなプロセッサ動作)が実行可能である。なお、図1には図示していないが、第1動作モードでの動作時には、上述した動作を実現させるために、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24を有する処理部からなる特別のネットワークを形成するようにしても良い。
なお、通常の動作モード(第2動作モード)での通常動作時には、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24は、PE11と同様にコンフィグレーションデータに応じて、例えばALU、RAM、ディレイ回路、カウンタ等の機能を実現する。
また、リコンフィギュラブル回路部10は、データを入出力するためのネットワークNWを有しており、任意のPE(シーケンスPE等を含む。)からのデータや外部からのデータを各PE(シーケンスPE等を含む。)に対して入力可能である。
セレクタ12は、コンフィグレーションデータに応じて制御され、ネットワークNWを介して供給される各PE等(シーケンスPE等を含む。)からのデータの中から、対応するPEに入力するデータを選択する。言い換えれば、セレクタ12は、コンフィグレーションデータに応じて、対応するPEに接続するネットワークを選択する。
図2は、シーケンスPE21の構成例を示す図である。
シーケンスPE21は、カウンタ・アドレス生成部31、命令解析・制御信号生成部32、セレクタ33、及びレジスタ34を有する。
カウンタ・アドレス生成部31は、カウンタ機能を有する。カウンタ・アドレス生成部31は、制御信号SCIに基づき、第1動作モードでの動作時にはプログラムカウンタとして動作し、第2動作モードでの動作時にはカウンタ回路等として使用される。すなわち、カウンタ・アドレス生成部31は、第1動作モードでの動作時には、RAM(PE)22内の内部プログラムの保存先を指定し、RAM(PE)22に記憶された内部プログラムを読み出すためのカウンタとして機能する。
命令解析・制御信号生成部32は、RAM(PE)22から供給される(RAM(PE)22から取り出した)内部プログラムの命令をデコードして制御信号(SCO)を生成して出力する。命令解析・制御信号生成部32から出力される制御信号(SCO)は、RAM(PE)22、ALU(PE)23、RAM(PE)24、カウンタ・アドレス生成部31、セレクタ33、及びレジスタ34に適宜入力される。
セレクタ33は、命令解析・制御信号生成部32からの制御信号(SCI)に基づいて、ALU(PE)23での演算対象(データ)を選択する。
レジスタ34は、命令解析・制御信号生成部32からの制御信号(SCI)に応じてALU(PE)23での演算結果等を格納する汎用レジスタである。なお、レジスタ34の数及び格納容量は任意である。
ここで、カウンタ・アドレス生成部31、RAM(PE)22、ALU(PE)23及びRAM(PE)24には、セレクタSEL1、SEL2、SEL3、SEL4が対応して設けられている。セレクタSEL1、SEL2、SEL3、SEL4は、CPU1からのコンフィグレーションデータ又は命令解析・制御信号生成部32からの制御信号(SCI)の一方を選択し出力する。セレクタSEL1、SEL2、SEL3、SEL4は、外部からの設定等に応じて、第1動作モード時には命令解析・制御信号生成部32からの制御信号(SCI)を出力し、第2動作モード時にはCPU1からのコンフィグレーションデータを出力する。
図3は、RAM(PE)24の構成例を示す図である。
RAM(PE)24は、RAM選択制御部41、データ記憶領域(RAM−A、RAM−B)42、43、及びセレクタSEL5〜SEL10を有する。
図3において、ADSは、シーケンスPE21を有する処理部等が内部プログラムに従い処理を行う場合にシーケンスPE21からRAM(PE)24に入力されるアドレスである。DIS及びDOSは、シーケンスPE21を有する処理部等が内部プログラムに従い処理を行う場合にシーケンスPE21とRAM(PE)24との間で入出力される入力データ及び出力データである。ADNは、RAM(PE)24が通常のRAMとして使用される場合のRAM(PE)24に入力されるアドレスであり、DIN及びDOSは、RAM(PE)24が通常のRAMとして使用される場合のRAM(PE)24に対する入力データ及び出力データである。
RAM選択制御部41は、第1動作モードでの動作時に、何れのデータ記憶領域(RAM−A、RAM−B)42、43を、シーケンスPE21を有する処理部等によって実行される内部プログラムの処理に係るデータメモリとして使用するかを選択制御する。RAM選択制御部41は、切替選択レジスタ40に設定された設定値及びアドレスADNに基づいて、データメモリとして使用するデータ記憶領域を選択する。
本実施形態では、RAM選択制御部41は、内部プログラムの処理に係るデータメモリとして、データ記憶領域(RAM−A、RAM−B)42、43の両方の記憶領域を使用するか一方の記憶領域を使用するかを、切替選択レジスタ40の設定値に応じて選択する。さらに、RAM選択制御部41は、データ記憶領域(RAM−A、RAM−B)42、43における一方の記憶領域を内部プログラムの処理に係るデータメモリとして使用する場合には、アドレスADNに基づいてデータメモリとして使用する記憶領域を選択する。
例えば、RAM選択制御部41は、図4に示すようにインバータ51、52、53、AND(論理積演算)回路54、55、OR(論理和演算)回路56、57により構成される。インバータ51、52は切替選択レジスタ40の出力(設定値)が入力され、インバータ53はアドレスADNの最上位ビット(MSB)が入力される。AND回路54は、インバータ51の出力及びアドレスADNの最上位ビット(MSB)が入力され、AND回路55は、インバータ52の出力及びインバータ53の出力が入力される。
OR回路56は、切替選択レジスタ40の出力(設定値)及びAND回路54の出力が入力され、OR回路57は、切替選択レジスタ40の出力(設定値)及びAND回路55の出力が入力される。OR回路56の出力が“1”であるとき、データ記憶領域(RAM−A)42は、内部プログラムの処理に係るデータメモリとして選択される。また、OR回路57の出力が“1”であるとき、データ記憶領域(RAM−B)43は、内部プログラムの処理に係るデータメモリとして選択される。
すなわち、切替選択レジスタ40の設定値が“1”である場合には、アドレスADNの最上位ビット(MSB)にはかかわらず、データ記憶領域(RAM−A、RAM−B)42、43が内部プログラムの処理に係るデータメモリとして選択される。一方、切替選択レジスタ40の設定値が“0”であり、かつアドレスADNの最上位ビット(MSB)が“1”である場合には、データ記憶領域(RAM−A)42が内部プログラムの処理に係るデータメモリとして選択される。また、切替選択レジスタ40の設定値が“0”であり、かつアドレスADNの最上位ビット(MSB)が“0”である場合には、データ記憶領域(RAM−B)43が内部プログラムの処理に係るデータメモリとして選択される。なお、図4に示したRAM選択制御部41は、一例でありこれに限定されるものではない。
図3に戻り、セレクタSEL5は、RAM選択制御部41の制御に応じてアドレスADN又はアドレスADSの一方を選択し、データ記憶領域(RAM−A)42に出力する。セレクタSEL6は、RAM選択制御部41の制御に応じて入力データDIN又は入力データDISの一方を選択し、データ記憶領域(RAM−A)42に出力する。
同様に、セレクタSEL7は、RAM選択制御部41の制御に応じてアドレスADN又はアドレスADSの一方を選択し、データ記憶領域(RAM−B)43に出力する。セレクタSEL8は、RAM選択制御部41の制御に応じて入力データDIN又は入力データDISの一方を選択し、データ記憶領域(RAM−B)43に出力する。
また、セレクタSEL9は、RAM選択制御部41の制御に応じてデータ記憶領域(RAM−A、RAM−B)42、43の出力の一方を選択し、出力データDONとして出力する。セレクタSEL10は、RAM選択制御部41の制御に応じてデータ記憶領域(RAM−A、RAM−B)42、43の出力の一方を選択し、出力データDOSとして出力する。
このように、本実施形態におけるRAM(PE)24は、内部のメモリ空間を2つのメモリ空間、すなわちデータ記憶領域(RAM−A、RAM−B)42、43に分割して構成される。そして、切替選択レジスタ40の設定値等に応じて、シーケンスPE21を有する処理部等によって実行される内部プログラムの処理に係るデータメモリとして使用するデータ記憶領域を切り替えることが可能となっている。なお、切替選択レジスタ40の設定値は、例えばCPU1により書き込むことが可能なように構成されている。
例えば、切替選択レジスタ40の設定値が“1”である場合には、データ記憶領域(RAM−A、RAM−B)42、43の両方が内部プログラムの処理に係るデータメモリとして選択される。一方、切替選択レジスタ40の設定値が“0”であり、かつアドレスADNのMSBが“1”である場合には、データ記憶領域(RAM−A)42が内部プログラムの処理に係るデータメモリとして選択される。また、切替選択レジスタ40の設定値が“0”であり、かつアドレスADNのMSBが“0”である場合には、データ記憶領域(RAM−B)43が内部プログラムの処理に係るデータメモリとして選択される。
ここで、切替選択レジスタ40の設定値が“0”である場合には、データ記憶領域(RAM−A、RAM−B)42、43のうち内部プログラムの処理に係るデータメモリとして選択されたデータ記憶領域とは別のデータ記憶領域は、通常のRAMとして機能する。つまり、第1動作モードにおいて、内部プログラムの処理に係るデータメモリとして選択されたデータ記憶領域とは別のデータ記憶領域は、CPU1からのコンフィグレーションデータに応じて所定の機能を実現するPE11(第2のネットワーク構成)からアクセス可能である。すなわち、データ記憶領域(RAM−A、RAM−B)42、43は、第1のネットワーク構成及び第2のネットワーク構成から独立して同時にアクセスすることができる。
したがって、第1動作モードでの動作時に、シーケンスPE21を有する処理部等で行われる逐次処理と、PE11を有する他の処理部で行われるパイプライン処理との間で、RAM(PE)24を介してデータの授受を行う場合のオーバーヘッドを軽減することができる。すなわち、逐次処理にてアクセスするデータ記憶領域とパイプライン処理にてアクセスするデータ記憶領域とを適宜交換し、一方のデータ記憶領域から逐次処理の結果を読み出してパイプライン処理を実行するとともに、他方のデータ記憶領域に逐次処理の実行結果を書き込むことを同時に行うことができる。
次に、図1に示した半導体集積回路の動作について説明する。
まず、通常動作時である第2動作モードでの動作について説明する。
図5は、図1に示した半導体集積回路の第2動作モード時の動作を説明するための図である。この図5において、図1に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。
図5において、CRはCPU1からのコンフィグレーションデータを記憶するコンフィグレーションレジスタである。SEL11、SEL21、SEL31、SEL41は、コンフィグレーションレジスタCRより出力されるコンフィグレーションデータ又はシーケンスPE21からの制御信号の一方を選択するセレクタである。セレクタSEL11、SEL21、SEL31、SEL41は、第2動作モード時にはコンフィグレーションレジスタCRより出力されるコンフィグレーションデータを選択して出力する。
また、SEL12、SEL13、SEL22、SEL23、SEL32、SEL33、SEL42、SEL43は、入力データを選択するためのセレクタである。セレクタSEL12、SEL13、SEL22、SEL23、SEL32、SEL33、SEL42、SEL43は、第2動作モード時にはセレクタ12を介して供給されるネットワークNWからのデータを選択し出力する。
すなわち、第2動作モード時においては、PE11にはCPU1からのコンフィグレーションデータが供給されるとともに、セレクタ12を介してネットワークNWからのデータが入力される。また、PE11と同様に、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24には、対応するセレクタを介してCPU1からのコンフィグレーションデータがそれぞれ供給される。また、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24には、セレクタ12及び対応するセレクタを介してネットワークNWからのデータが入力される。これにより、第2動作モード時においては、各PE(シーケンスPE等を含む。)では、CPU1からのコンフィグレーションデータに応じて回路構成が再構成されてネットワークNWからの入力データに対する処理(パイプライン処理等)が実行される。
次に、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24の処理部によりプロセッサ動作を実現する第1動作モードでの動作について説明する。
図6は、図1に示した半導体集積回路の第1動作モード時の動作を説明するための図である。この図6において、図1及び図5に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。
第1動作モード時においては、PE11にはCPU1からのコンフィグレーションデータが供給されるとともに、セレクタ12を介してネットワークNWからのデータが入力される。
また、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24には、セレクタSEL11、SEL21、SEL31、SEL41を介してシーケンスPE21からの制御信号が入力される。したがって、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24は、プロセッサ動作において各処理部が担う機能を実現するように制御される。
シーケンスPE21は、内部のカウンタ・アドレス生成部31のカウンタ値等に基づいて、フェッチアドレスfadをRAM(PE)22に対して出力する。シーケンスPE21からのフェッチアドレスfadは、セレクタSEL23を介してRAM(PE)22に入力され、それに応じた命令insがRAM(PE)22からセレクタSEL12を介してシーケンスPE21に供給される。
シーケンスPE21は、供給される命令insを内部の命令解析・制御信号生成部32でデコードし、デコード結果に応じた制御信号をRAM(PE)22、ALU(PE)23、及びRAM(PE)24に供給する。
ALU23には、シーケンスPE21からセレクタSEL32、SEL33を介して入力データdin1、din2が入力される。ALU23は、入力されたデータdin1、din2を用いて、シーケンスPE21からの制御信号に応じた演算処理を実行し、演算結果を出力データdoutとしてシーケンスPE21に出力する。
また、RAM24には、シーケンスPE21からセレクタSEL43を介してアドレスaddが入力される。RAM24は、シーケンスPE21からの制御信号に応じて、入力されるアドレスaddにセレクタSEL42を介して入力されるデータdtiを書き込んだり、アドレスaddから読み出したデータを出力データdtoとしてシーケンスPE21に出力したりする。
以上のような制御により、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24により、RISCのようなプロセッサ動作が実現され、内部プログラムに応じた逐次処理が実行される。
本実施形態によれば、第2動作モード(通常動作)時には、シーケンスPE21等を含む各PEが、CPU1からのコンフィグレーションデータに応じて回路構成を再構成して所望の処理を実行する。第1動作モード時には、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24により極小的にプロセッサに相当する構成(第1のネットワーク構成)を構築して内部プログラムに応じたプロセッサ動作(逐次処理)を実行する。また、第1動作モード時には、各PE11が、CPU1からのコンフィグレーションデータに応じて回路構成を再構成して所望の処理を実行する。
これにより、動的に回路構成を再構成可能なリコンフィギュラブルLSIにて、パイプライン処理と逐次処理とを同時に実行することができ動作効率を向上させることができる。また、実行する動作の一部分だけを変更するような場合には、その変更させる動作を含む処理を、シーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24によるプロセッサ動作で実現することにより、変更に係る全体での設定動作を行う必要がなくなり効率を高めることができる。
また、RAM(PE)24内のデータ記憶領域を2つのデータ記憶領域(RAM−A,RAM−B)42、43に分割する。そして、一方のデータ記憶領域にシーケンスPE21、RAM(PE)22、ALU(PE)23、及びRAM(PE)24からなる第1のネットワーク構成が接続でき、他方のデータ記憶領域に他の複数のPE11からなる第2のネットワーク構成に接続できるようにする。
これにより、図7に示すようにRAM(PE)24内の一方のデータ記憶領域を第1のネットワーク構成71からアクセスし、他方のデータ記憶領域を第2のネットワーク構成72からアクセスすることが可能になる。したがって、第1のネットワーク構成及び第2のネットワーク構成からRAM(PE)24に同時にアクセスすることができ、オーバーヘッドを軽減することができる。
なお、上述した説明では、RAM(PE)22、ALU(PE)23、及びRAM(PE)24をそれぞれ1つずつ設けた場合を一例として示したが、本発明はこれに限定されるものではない。第1動作モードでの動作により実現するプロセッサ動作に応じて、必要な数のRAM(PE)22、ALU(PE)23、及びRAM(PE)24を複数設けるようにしても良い。
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
(付記1)
外部プログラムのデコード結果に応じて、回路構成を再構成可能な複数の処理部を備え、
前記複数の処理部は、
内部プログラムを記憶する第1処理部と、
前記第1処理部から供給される前記内部プログラムの命令をデコードして制御信号を生成する第2処理部と、
前記第2処理部からの前記制御信号を受け、当該制御信号に応じた処理を実行する第3処理部と、
第1の記憶領域と第2の記憶領域とを有する第4処理部とを含み、
第1動作モードにて、前記第1〜第4処理部を有する特定の第1のネットワーク構成が構築され、
前記第1の記憶領域及び前記第2の記憶領域の一方の記憶領域は、前記第1のネットワーク構成に接続され前記第3処理部の処理結果を保持し、
前記第1の記憶領域及び前記第2の記憶領域の他方の記憶領域は、前記第1のネットワークとは別の第2のネットワーク構成に接続されることを特徴とする半導体集積回路。
(付記2)
前記第1動作モードにて、前記第1〜第4処理部は、1つのプロセッサを構成し前記内部プログラムに従い処理を行うことを特徴とする付記1記載の半導体集積回路。
(付記3)
第2動作モードにて、前記第1〜第4処理部及び他の処理部を有する第3のネットワーク構成が構成され、
前記外部プログラムのデコード結果に応じた処理を実行することを特徴とする付記1又は2記載の半導体集積回路。
(付記4)
前記第2のネットワーク構成は、複数の再構成可能な処理部及び再構成可能なネットワークを有し、前記第1のネットワーク構成とは独立して動作することを特徴とする付記1〜3の何れか1項に記載の半導体集積回路。
(付記5)
前記第1の記憶領域と前記第2の記憶領域は、前記第1のネットワーク構成及び前記第2のネットワーク構成から独立して同時にアクセスされることを特徴とする付記1〜3の何れか1項に記載の半導体集積回路。
(付記6)
前記第4処理部は、
前記第1の記憶領域及び前記第2の記憶領域を前記第1のネットワーク構成又は前記第2のネットワーク構成に接続するための選択部を有することを特徴とする付記1〜3の何れか1項に記載の半導体集積回路。
(付記7)
前記第2処理部は、
前記内部プログラムの前記第1処理部内の保存先を指定するカウンタ部と、
前記カウンタ部にて指定された保存先から前記内部プログラムを取り出しデコードし、デコード結果に応じて制御信号を生成する命令解析部とを有することを特徴とする付記1〜3の何れか1項に記載の半導体集積回路。
(付記8)
前記第1の動作モードにて、前記第1の記憶領域及び前記第2の記憶領域の前記他方の記憶領域を、前記第2のネットワーク構成に接続するか否かを設定するためのレジスタ部を有することを特徴とする付記1〜3の何れか1項に記載の半導体集積回路。
本発明の実施形態に係る半導体集積回路の構成例を示す図である。 本実施形態におけるシーケンスPEの構成例を示す図である。 本実施形態におけるRAM(PE)の構成例を示す図である。 本実施形態におけるRAM選択制御部の構成例を示す図である。 本実施形態に係る半導体集積回路の第2動作モード(通常動作モード)時の動作を説明するための図である。 本実施形態に係る半導体集積回路の第1動作モード(特定モード)時の動作を説明するための図である。 本実施形態に係る半導体集積回路の第1動作モード時の構成を説明するための図である。 従来のリコンフィギュラブルLSIの構成を示す図である。
符号の説明
1 CPU
2 RAM
3 リコンフィグインタフェース部
4 アドレスバス
5 データバス
10 リコンフィギュラブル回路部
11 プロセッシングエレメント(PE)
12 セレクタ
21 シーケンスPE
22、24 RAM(PE)
23 ALU(PE)
31 カウンタ・アドレス生成部
32 命令解析・制御信号生成部
33 セレクタ
34 レジスタ
40 切替選択レジスタ
41 RAM選択制御部
42、43 データ記憶領域
NW ネットワーク

Claims (5)

  1. 外部プログラムのデコード結果に応じて、回路構成を再構成可能な複数の処理部を備え、
    前記複数の処理部は、
    内部プログラムを記憶する第1処理部と、
    前記第1処理部から供給される前記内部プログラムの命令をデコードして制御信号を生成する第2処理部と、
    前記第2処理部からの前記制御信号を受け、当該制御信号に応じた処理を実行する第3処理部と、
    第1の記憶領域と第2の記憶領域とを有する第4処理部とを含み、
    第1動作モードにて、前記第1〜第4処理部を有する特定の第1のネットワーク構成が構築され、
    前記第1の記憶領域及び前記第2の記憶領域の一方の記憶領域は、前記第1のネットワーク構成に接続され前記第3処理部の処理結果を保持し、
    前記第1の記憶領域及び前記第2の記憶領域の他方の記憶領域は、前記第1のネットワークとは別の第2のネットワーク構成に接続されることを特徴とする半導体集積回路。
  2. 前記第1動作モードにて、前記第1〜第4処理部は、1つのプロセッサを構成し前記内部プログラムに従い処理を行うことを特徴とする請求項1記載の半導体集積回路。
  3. 第2動作モードにて、前記第1〜第4処理部及び他の処理部を有する第3のネットワーク構成が構成され、
    前記外部プログラムのデコード結果に応じた処理を実行することを特徴とする請求項1又は2記載の半導体集積回路。
  4. 前記第1の記憶領域と前記第2の記憶領域は、前記第1のネットワーク構成及び前記第2のネットワーク構成から独立して同時にアクセスされることを特徴とする請求項1〜3の何れか1項に記載の半導体集積回路。
  5. 前記第4処理部は、
    前記第1の記憶領域及び前記第2の記憶領域を前記第1のネットワーク構成又は前記第2のネットワーク構成に接続するための選択部を有することを特徴とする請求項1〜3の何れか1項に記載の半導体集積回路。
JP2008255259A 2008-09-30 2008-09-30 半導体集積回路 Pending JP2010087880A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008255259A JP2010087880A (ja) 2008-09-30 2008-09-30 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008255259A JP2010087880A (ja) 2008-09-30 2008-09-30 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2010087880A true JP2010087880A (ja) 2010-04-15

Family

ID=42251369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008255259A Pending JP2010087880A (ja) 2008-09-30 2008-09-30 半導体集積回路

Country Status (1)

Country Link
JP (1) JP2010087880A (ja)

Similar Documents

Publication Publication Date Title
JP4022147B2 (ja) 設定可能な機能ユニットを備えるデータ処理装置
US7908453B2 (en) Semiconductor device having a dynamically reconfigurable circuit configuration
JPH08106375A (ja) 信号処理演算器
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
JP2006146953A (ja) プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体
JP5071707B2 (ja) データ処理装置およびその制御方法
JP2006236106A (ja) データ処理装置及びデータ処理方法
JP2006011825A (ja) 再構成可能演算装置および半導体装置
US7376811B2 (en) Method and apparatus for performing computations and operations on data using data steering
JP4962305B2 (ja) リコンフィギュラブル回路
JP2010087880A (ja) 半導体集積回路
US7814296B2 (en) Arithmetic units responsive to common control signal to generate signals to selectors for selecting instructions from among respective program memories for SIMD / MIMD processing control
JP2002229970A (ja) Simd積和演算方法、積和演算回路、および、半導体集積回路装置
JP2006011924A (ja) 再構成可能演算装置および半導体装置
JP2013161484A (ja) 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法
JP2006018411A (ja) プロセッサ
JP2008278326A (ja) 半導体装置
JP4553615B2 (ja) 処理装置
KR100821918B1 (ko) 데이터 경로의 재구성이 가능한 디지털 신호 처리기
JP3837386B2 (ja) 情報処理装置
JP2008219728A (ja) 再構成可能な演算処理回路
JP6553694B2 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法
JP4562678B2 (ja) データフローグラフ再構成装置、リコンフィギュラブル回路の設定データ生成装置、及び処理装置
JP2008085864A (ja) 半導体装置
JP4610236B2 (ja) 設定データ生成装置