JP2005338929A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2005338929A JP2005338929A JP2004153239A JP2004153239A JP2005338929A JP 2005338929 A JP2005338929 A JP 2005338929A JP 2004153239 A JP2004153239 A JP 2004153239A JP 2004153239 A JP2004153239 A JP 2004153239A JP 2005338929 A JP2005338929 A JP 2005338929A
- Authority
- JP
- Japan
- Prior art keywords
- data
- product
- coefficient data
- coefficient
- register
- 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.)
- Withdrawn
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
【課題】 従来品との互換性を保ちながら、多量の係数データを必要とする積和演算を高速処理できる半導体装置を提供する。
【解決手段】 係数データ積和命令に応じて、汎用レジスタ16は、内部バス14aを介してアドレスGR0に記憶している処理対象データx(i+j−m)を積和演算器30へ転送する。一方、係数データ記憶部10は、内部バス14bを介して、読出セレクタ28が選択している係数レジスタ24のアドレスに記憶している係数データa(j)を積和演算器30へ転送する。さらに、積和演算器30は、汎用レジスタ16から転送された処理対象データx(i+j−m)と、係数データ記憶部10から転送された係数データa(j)とを乗算し、その乗算結果を累積加算する。その後、マルチプレクサ18は、ポインタレジスタ20に1を加算する。すると、読出セレクタ28は、ポインタレジスタ20からの制御信号により、係数レジスタ24の次のアドレスを選択する。
【選択図】 図1
【解決手段】 係数データ積和命令に応じて、汎用レジスタ16は、内部バス14aを介してアドレスGR0に記憶している処理対象データx(i+j−m)を積和演算器30へ転送する。一方、係数データ記憶部10は、内部バス14bを介して、読出セレクタ28が選択している係数レジスタ24のアドレスに記憶している係数データa(j)を積和演算器30へ転送する。さらに、積和演算器30は、汎用レジスタ16から転送された処理対象データx(i+j−m)と、係数データ記憶部10から転送された係数データa(j)とを乗算し、その乗算結果を累積加算する。その後、マルチプレクサ18は、ポインタレジスタ20に1を加算する。すると、読出セレクタ28は、ポインタレジスタ20からの制御信号により、係数レジスタ24の次のアドレスを選択する。
【選択図】 図1
Description
この発明は半導体装置に関し、特に積和演算装置を内蔵した半導体装置に関する。
近年のマルチメディア技術の発展により、デジタル信号処理は、ますます重要性を増している。最も頻繁に実行されるデジタル信号処理は、式(1)のようなフィルタ処理であり、積和演算の形で大量に実行されることが多い。
その結果、デジタル信号処理全体の速度は、積和演算の処理速度によって決まることが多い。したがって、積和演算をいかに高速処理するかが重要である。
従来から、特許文献1に示されているような信号処理専用のマイクロプロセッサや、特許文献2に示されているようなDSP(Digital Signal Processor)などを、CPUとは別に設けて、高速のデジタル信号処理を実現している。
しかし、製品の低コスト化や小型化の観点からは、単一のCPUで処理を行うことが望ましく、いわゆるシングルチップマイコンが要求される場合も多い。
そこで、積和演算専用の回路(以下、「積和演算器」という)を内蔵したCPUが実現されている。このCPUでは、使用頻度の高い係数データをCPU内部の記憶領域に記憶しておくことで、外部メモリからの取込みを省略し、積和演算の高速化を図っている。
特開平3−277009号公報
特開平8−123682号公報
近年の通信技術の発達による情報量の増大に伴い、デジタル信号処理量も増大している。そのため、積和演算の処理対象データおよび係数データセットが増加する傾向にある。
上述した専用マイクロプロセッサやDSPの多くは、処理対象データおよび係数データ専用の記憶領域が設けられており、柔軟な対応が可能である。
一方、上述した積和演算器を内蔵したCPUにおいては、アーキテクチャーの大幅な変更を避けるため、汎用レジスタのみが記憶領域として設けられている。この汎用レジスタは、積和演算を含めて、全ての処理に用いられる。
そのため、上述したように信号処理量が増大すると、係数データセットを記憶するだけの記憶領域を、汎用レジスタに確保できない場合が生じる。このような場合には、積和演算処理中に、係数データを外部メモリから頻繁に取込む必要があり、積和演算の高速化が図れないという問題があった。
さらに、頻繁に係数データの取込処理が実行されることにより、CPUの内部バスが占有され、他の処理が遅延するという問題もあった。
一方、汎用レジスタの記憶領域を増加させることも考えられるが、CPUの命令コード体系を変更せざるを得ず、従来品との互換性を保つことができない。いわゆる製品ファミリー間では、機能を拡張しつつも、従来品との互換性を確保することが重要であり、互換性が確保できないことは実用上大きな問題であった。
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、従来品との互換性を保ちながら、多量の係数データを必要とする積和演算を高速処理できる半導体装置を提供することである。
この発明は、半導体装置であって、積和演算手段と、第1の記憶手段と、第2の記憶手段とを備える。第1の記憶手段は、積和演算に用いる処理対象データを記憶し、積和演算手段へ処理対象データを供給する。第2の記憶手段は、積和演算に用いる係数データを記憶し、処理対象データに対応する係数データを積和演算手段へ供給する。
この発明によれば、半導体装置は、積和演算に用いる係数データを記憶し、処理対象データに対応する係数データを積和演算手段へ供給する第2の記憶手段を備えるので、第2の記憶手段に係数データを記憶でき、多量の係数データが必要な積和演算を高速に処理できる。
また、半導体装置は、第2の記憶手段を追加する構造を採用するので、大幅な設計変更を必要とせず、従来品との互換性を保つことができる。
さらに、第1の記憶手段と第2の記憶手段の相互間で、データの退避および復元ができるため、割込処理が発生した場合において、通常処理の中断、割込処理の実行、および通常処理の再開を高速に行うことができる。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[実施の形態1]
図1は、この発明の実施の形態1に従う半導体装置の構成を示す概略ブロック図である。
図1は、この発明の実施の形態1に従う半導体装置の構成を示す概略ブロック図である。
図1を参照して、この発明の実施の形態1によるマイクロコンピュータ101は、CPU1と、メモリ5と、データバス6とを備える。CPU1とメモリ5とは、データバス6を介して接続される。
マイクロコンピュータ101は、図示しないI/Oユニットにより外部から処理対象データおよび係数データを取込み、メモリ5へ記憶する。
メモリ5は、積和演算の処理対象データおよび係数データを記憶する。また、メモリ5は、一定期間分の処理対象データを保持しておくため、リングバッファとして機能することが多い。
CPU1は、制御部32と、リードユニット12と、汎用レジスタ16と、積和演算器30と、係数データ記憶部10と、内部バス14a,14b,14cを備える。
制御部32は、CPU命令セットの中から、図示しないプログラムカウンタに従って、順次命令を実行する。
リードユニット12は、データバス6を介して、メモリ5のデータを汎用レジスタ16に書込む。
汎用レジスタ16は、リードユニット12から転送されるデータおよび内部バス14cを介して転送されるデータを記憶する。また、汎用レジスタ16は、命令に応じて、内部バス14aまたは内部バス14bを介して記憶したデータを転送する。
積和演算器30は、乗算器30aと、加算器30bと、積和レジスタ30cとを含む。
乗算器30aは、内部バス14aを介して転送されるデータと、内部バス14bを介して転送されるデータとを乗算して、加算器30bへ転送する。
加算器30bは、乗算器30aから転送されるデータと、積和レジスタ30cに記憶されているデータとを加算して、積和レジスタ30cへ転送する。
積和レジスタ30cは、加算器30bから転送されるデータを記憶する。また、積和レジスタ30cは、記憶したデータを加算器30bへ転送する。さらに、積和レジスタ30cは、内部バス14cを介して、記憶したデータを汎用レジスタ16へ転送する。なお、積和レジスタ30cは、命令に応じて、リセットされる。
積和演算器30は、汎用レジスタ16から内部バス14aを介して転送される処理対象データと、係数データ記憶部10から内部バス14bを介して転送される係数データとを乗算し、その乗算結果を累積加算する。
係数データ記憶部10は、ポインタレジスタ20と、マルチプレクサ18と、加算器22と、係数レジスタ24と、書込セレクタ26と、読出セレクタ28とを備える。
実施の形態1では、汎用レジスタ16および係数レジスタ24は、16個のアドレスによって指定された記憶領域を有するとして説明する。汎用レジスタ16については、アドレスGR0,GR1,・・・,GR15とし、係数レジスタ24については、アドレスP0,P1,・・・,P15とする。なお、汎用レジスタ16のアドレス数および係数レジスタ24のアドレス数を増加または減少させてもよく、また互いのアドレス数を一致させる必要はない。
ポインタレジスタ20は、マルチプレクサ18から書込まれるデータを記憶する。また、ポインタレジスタ20は、記憶したデータを加算器22へ転送する。さらに、ポインタレジスタ20の値に応じた制御信号が、書込セレクタ26および読出セレクタ28へ与えられる。
加算器22は、ポインタレジスタ20から転送されるデータに”1”を加算して、マルチプレクサ18へ転送する。
マルチプレクサ18は、命令に応じて、加算器22から転送されるデータまたは汎用レジスタ16から転送されるデータのいずれかを、ポインタレジスタ20へ書込む。
係数レジスタ24は、アドレスP0,P1,・・・,P15に対応させて、係数データa(0), a(1),・・・, a(15)を記憶する。
書込セレクタ26は、汎用レジスタ16から内部バス14bを介して転送される係数データを、ポインタレジスタ20の値に応じた制御信号により特定される係数レジスタ24
のアドレスに書込む。
のアドレスに書込む。
読出セレクタ28は、ポインタレジスタ20の値に応じた制御信号により特定される係数レジスタ24のアドレスに記憶されたデータを読出して、内部バス14bを介して積和演算器30へ転送する。
次に、実施の形態1による積和演算処理について説明する。
図2は、この発明の実施の形態1に従う半導体装置における、積和演算時の記憶領域に記憶したデータ内容を示す図である。
図2(a)は、汎用レジスタ16のデータ内容を示す図である。
図2(b)は、係数レジスタ24のデータ内容を示す図である。
以下の説明では、汎用レジスタ16および係数レジスタ24には、図2(a)および図2(b)のようにアドレスに対応付けてデータが記憶されるとする。なお、図2(b)は係数データを最大数記憶した場合の図であり、係数レジスタ24には、係数データがアドレスP0から連続して必要数だけ記憶される。
式(1)を参照して、変数iについて、i=0,1,・・・,n−1のそれぞれにおけるフィルタ処理結果y(i)を求める処理について説明する。
図3は、この発明の実施の形態1に従う半導体装置における、積和演算処理を示すフローチャートである。
図3を参照して、制御部32は、係数データ記憶部10に記憶されている係数データセットの更新が必要か否かを判断する(ステップS10)。
係数データセットの更新が必要であれば(ステップS10においてYの場合)、制御部32は、以下に述べる係数データ更新処理を行う。
制御部32は、係数データa(j)において、第1番目の係数データa(0)を取込対象とするため、変数jについて、j=0とする(ステップS12)。このとき、図2(b)を参照して、第1番目の係数データa(0)は、係数レジスタ24のアドレスP0に記憶されるので、制御部32は、”0”をポインタレジスタ20に書込み、ポインタレジスタ20をリセットする(ステップS14)。すると、書込セレクタ26は、ポインタレジスタ20からの制御信号により、係数レジスタ24のアドレスP0を選択する。
一方、リードユニット12は、メモリ5から係数データa(j)、すなわちa(0)を汎用レジスタ16のアドレスGR1に取込む(ステップS16)。
次に、制御部32は、係数データ書込命令を実行する(ステップS18)。係数データ書込命令は、実施の形態1によるCPU1が従来品との互換性を保ちながら、新たに備えるCPU命令である。
係数データ書込命令に応じて、汎用レジスタ16は、内部バス14bを介してアドレスGR1に記憶している係数データa(j)、すなわちa(0)を書込セレクタ26へ転送する。書込セレクタ26は、汎用レジスタ16から転送された係数データa(0)を、選択している係数レジスタ24のアドレスP0に書込む。
その後、係数データ書込命令に応じて、マルチプレクサ18は、ポインタレジスタ20に”1”を加算する。すると、書込セレクタ26は、ポインタレジスタ20からの制御信号により、係数レジスタ24の次のアドレス、すなわちアドレスP1を選択する。したがって、次の係数データa(j+1)、すなわちa(1)が記憶される係数レジスタ24のアドレスが特定される。
このように、制御部32は、1回の係数データ書込命令で、1つの係数データの書込みとポインタレジスタ20のカウントアップをセットで実行する。このため、係数データと係数レジスタ24のアドレスの対応関係を保ちながら順次処理が可能である。
その後、制御部32は、j<m−1が成立するか否かを判断する(ステップS20)。すなわち、すべての係数データa(0),a(1),・・・,a(m−1)が更新されたか否かを判断する。
j<m−1が成立する場合(ステップS20においてYの場合)、すなわち、すべての係数データが更新されていない場合には、制御部32は、次の係数データa(j+1)を取込対象とするため、変数jについてj=j+1の演算をする(ステップS22)。
以下、上述したステップS16,S18,S20,S22を、ステップS20においてj<m−1が不成立となるまで、すなわち、すべての係数データa(0),a(1),・・・,a(m−1)が更新されるまで繰返す。
以上が、係数データ更新処理である。
次に、係数データセットの更新が必要でない場合(ステップS10においてNの場合)または、すべての係数データが更新された場合(ステップS20においてNの場合)には、以下に述べる積和演算処理を行う。
フィルタ処理結果y(i)において、第1番目のフィルタ処理結果y(0)を求めるため、変数iについて、i=0とする(ステップS30)。
第1番目のフィルタ処理結果y(0)において、第1番目の乗算a(0)×x(0+0−m)を実行するため、変数jについて、j=0とする(ステップS32)。このとき、図2(b)を参照して、第1番目の係数データa(0)は、係数レジスタ24のアドレスP0に記憶されるので、制御部32は、”0”をポインタレジスタ20に書込み、ポインタレジスタ20をリセットする(ステップS34)。すると、読出セレクタ28は、ポインタレジスタ20からの制御信号により、係数レジスタ24のアドレスP0を選択する。
一方、リードユニット12は、処理対象データx(i+j−m)、すなわちx(0+0−m)を汎用レジスタ16のアドレスGR0に取込む(ステップS36)。
次に、制御部32は、係数データ積和命令を実行する(ステップS38)。係数データ積和命令は、実施の形態1によるCPU1が従来品との互換性を保ちながら、新たに備えるCPU命令である。
係数データ積和命令に応じて、汎用レジスタ16は、内部バス14aを介してアドレスGR0にある処理対象データx(0+0−m)を積和演算器30へ転送する。同時に、読出セレクタ28は、内部バス14bを介して、選択している係数レジスタ24のアドレスP0に記憶している係数データa(0)を積和演算器30へ転送する。そして、積和演算器30は、汎用レジスタ16から転送された処理対象データx(0+0−m)と、読出セレクタ28から転送された係数データa(0)とを乗算し、その乗算結果を累積加算する。
その後、係数データ積和命令に応じて、マルチプレクサ18は、ポインタレジスタ20に”1”を加算する。すると、読出セレクタ28は、ポインタレジスタ20からの制御信号により、係数レジスタ24の次のアドレス、すなわちアドレスP1を選択する。したがって、次の係数データa(j+1)、すなわちa(1)を記憶している係数レジスタ24のアドレスが特定される。
このように、制御部32は、1回の係数データ積和命令で、1つの積和演算とポインタレジスタ20のカウントアップをセットで実行する。このため、処理対象データと係数データの対応関係を保ちながら順次処理が可能である。
その後、制御部32は、j<m−1が成立するか否かを判断する(ステップS40)。すなわち、フィルタ処理結果y(i)において、すべての乗算a(0)×x(i+0−m),a(1)×x(i+1−m),・・・,a(m−1)×x(i+m−1−m)が実行されたか否かを判断する。
j<m−1が成立する場合(ステップS40においてYの場合)、すなわち、すべての乗算が実行されていない場合には、制御部32は、次の乗算a(j+1)×x(i+j+1−m)を実行とするため、変数jについてj=j+1の演算をする(ステップS42)。
以下、上述したステップS36,S38,S40,S42を、ステップS40においてj<m−1が不成立となるまで、すなわち、フィルタ処理結果y(i)におけるすべての乗算が実行されるまで繰返す。
さらに、j<m−1が不成立となった後(ステップS40においてNの場合)、すなわち、フィルタ処理結果y(i)におけるすべての乗算が実行された後に、積和レジスタ30cは、記憶したデータ、つまりフィルタ処理結果y(i)を汎用レジスタ16へ転送し(ステップS44)、リセットされる。
その後、制御部32は、i<n−1が成立するか否かを判断する(ステップS46)。すなわち、すべてのフィルタ処理結果y(0),y(1),・・・,y(n−1)が求められたか否かを判断する。
i<n−1が成立する場合(ステップS46においてYの場合)、すなわち、すべてのフィルタ処理結果y(0),y(1),・・・,y(n−1)が求められていない場合には、制御部32は、次のフィルタ処理結果y(i+1)を求めるため、変数iについてi=i+1の演算をする(ステップS50)。
以下、上述したステップS32,S34,S36,S38,S40,S42,S44,S46,S50を、ステップS46においてi<n−1が不成立となるまで、すなわち、すべてのフィルタ処理結果が求められるまで繰返す。
以上が、積和演算処理である。
図4は、この発明の実施の形態1に従う半導体装置における、1処理あたりのメモリ5から汎用レジスタ16へのデータ書込回数を、従来の係数データ記憶部10を備えない半導体装置の場合と比較した図である。
図4(a)は、係数データ数n=5、フィルタ処理数m=5の場合である。
図4(b)は、係数データ数n=10、フィルタ処理数m=5の場合である。
図4(c)は、係数データ数n=5、フィルタ処理数m=10の場合である。
図4(a),図4(b),図4(c)を参照して、この発明による具体的な高速化の効果について説明する。なお、従来の係数データ記憶部10を備えない半導体装置の場合において、汎用レジスタ16には、図2(a)に示すようにデータが記憶されるとして比較した。
図4(a),図4(b),図4(c)のいずれの場合にも、処理対象データの書込回数に関しては、従来の場合と差がない。一方、係数データの書込回数に関しては、一旦、係数記憶部10に書込まれると、再度書込む必要がないため、従来の場合と比較して、著しく書込回数が減少している。
その結果、積和演算全体としても書込回数が大幅に減少し、処理高速化に有効である。
以上、実施の形態1では、係数データ数が多くても、メモリ5からのデータ取込回数を、最小限に抑えることができ、高速の積和演算処理が可能である。
なお、実施の形態1では、外部から取込んだ係数データをメモリ5に記憶しているが、係数データセットを変更する必要がない場合には、読出専用メモリ(ROM)により実現してもよい。
なお、実施の形態1では、書込セレクタ26と読出セレクタ28を共通のポインタレジスタ20で実現しているが、言うまでもなく、書込セレクタ26と読出セレクタ28のそれぞれについて異なるポインタレジスタを用いてもよい。
より好ましくは、上述の係数データ積和命令および係数データ書込命令についてパイプライン処理を行うことでさらなる高速化が可能である。つまり、係数データ積和命令における、積和演算器30における積和演算と、ポインタレジスタ20におけるカウントアップをオーバーラップさせて処理させることができる。また、係数データ書込命令における、書込セレクタ26における係数データ書込みと、ポインタレジスタ20におけるカウントアップについても同様のパイプライン処理が可能である。
[実施の形態2]
図5は、この発明の実施の形態2に従う半導体装置の構成を示す概略ブロック図である。
図5は、この発明の実施の形態2に従う半導体装置の構成を示す概略ブロック図である。
図5を参照して、この発明の実施の形態2によるマイクロコンピュータ102は、CPU2と、メモリ5と、データバス6とを備える。CPU2とメモリ5とは、データバス6を介して接続される。
この発明の実施の形態2によるCPU2は、制御部32と、リードユニット12と、汎用レジスタ44と、積和演算器30と、係数データ記憶部40と、接続回路46.0,48.0と、内部バス14a,14b,14cを備える。
制御部32と、リードユニット12と、積和演算器30と、内部バス14a,14b,14cとについては、上述の実施の形態1と同様であるので、説明は省略する。
さらに、係数データ記憶部40は、マルチプレクサ18と、ポインタレジスタ20と、加算器22と、係数レジスタ42と、書込セレクタ26と、読出セレクタ28とを備える。
マルチプレクサ18と、ポインタレジスタ20と、加算器22と、書込セレクタ26と、読出セレクタ28とについては、上述の実施の形態1と同様であるので、説明は省略する。
実施の形態2では、単純化のため、汎用レジスタ44のアドレス付けられた記憶領域のうち、第1番目のアドレスGR0と、係数レジスタ42のアドレス付けられた記憶領域のうち、第1番目のアドレスP0とについて説明する。
汎用レジスタ44は、接続回路46.0を介して、アドレスGR0の状態信号を係数レジスタ42に出力する。
係数レジスタ42は、接続回路48.0を介して、アドレスP0の状態信号を汎用レジスタ44に出力する。
接続回路46.0は、書込制御部46.0aを備える。
書込制御部46.0aは、汎用レジスタデータ転送命令に応じて、汎用レジスタ44のアドレスGR0の状態信号を、係数レジスタ42のアドレスP0に書込む。つまり、汎用レジスタ44のアドレスGR0のデータを、係数レジスタ42のアドレスP0へ転送できる。
書込制御部48.0aは、係数レジスタデータ転送命令に応じて、係数レジスタ42のアドレスP0の状態信号を、汎用レジスタ44のアドレスGR0に書込む。つまり、係数レジスタ42のアドレスP0のデータを、汎用レジスタ44のアドレスGR0へ転送できる。
したがって、汎用レジスタ44のアドレスGR0と、係数レジスタ42のアドレスP0との相互間でデータ転送が可能である。
当然のことながら、特定のアドレス間を相互に接続するのであれば、汎用レジスタ44のアドレスと、係数レジスタ42のアドレスとは任意に選択でき、接続回路の数についても任意に選定できる。
さらに、割込処理が発生した時に、書込制御部46.0aは、汎用レジスタデータ転送命令に応じて、汎用レジスタ44に記憶しているデータを係数レジスタ42に退避させる。その後、割込処理の終了後に、書込制御部48.0aは、係数レジスタデータ転送命令に応じて、係数レジスタ42に退避したデータを汎用レジスタ44に復元する。
より好ましくは、汎用レジスタ44のすべてのアドレスに記憶されるデータを、係数レジスタ42に退避できる数の接続回路を設けることにより、いかなる処理状態においても、割込処理が高速に実行できる。
以上、実施の形態2では、汎用レジスタ44のデータを、高速に退避および復元できるため、割込処理発生時における、通常処理の中断、割込処理の実行、および通常処理の再開が、より高速になる。
さらに、内部バス14a,14bを介さずに、データ転送を行うため、割込処理に伴うデータ転送を阻害することはない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
101,102 マイクロコンピュータ、1,2 CPU、5 メモリ、6 データバス、10,40 係数データ記憶部、12 リードユニット、14a,14b,14c 内部バス、16,44 汎用レジスタ、18 マルチプレクサ、20 ポインタレジスタ、22 加算器、24,42 係数レジスタ、26 書込セレクタ、28 読出セレクタ、30 積和演算器、30a 乗算器、30b 加算器、30c 積和レジスタ、32 制御部、46.0,48.0 接続回路、46.0a,48.0a 書込制御部。
Claims (9)
- 積和演算手段と、
積和演算に用いる処理対象データを記憶し、前記処理対象データを前記積和演算手段へ供給する第1の記憶手段と、
前記積和演算に用いる係数データを記憶し、前記処理対象データに対応する前記係数データを前記積和演算手段へ供給する第2の記憶手段とを備える半導体装置。 - 前記第2の記憶手段は、
アドレスに対応付けて複数の係数データを記憶する記憶領域と、
前記記憶領域のアドレスを特定するための読出アドレス特定手段と、
前記読出アドレス特定手段により特定されたアドレスに記憶されている係数データを読出して前記積和演算手段へ供給する読出手段とを含む、請求項1に記載の半導体装置。 - 前記読出アドレス特定手段は、前記積和演算の演算過程に応じて、特定されるアドレス値をカウントアップまたはリセットする、請求項2に記載の半導体装置。
- 前記第2の記憶手段は、外部から前記係数データを取込み、前記記憶領域に記憶されている係数データを前記取込んだ係数データに置換える更新手段をさらに含む、請求項2または3に記載の半導体装置。
- 前記更新手段は、
前記記憶領域のアドレスを特定するための書込アドレス特定手段と、
前記書込アドレス特定手段により特定されたアドレスに新たな係数データを記憶させる書込手段とを含む、請求項4に記載の半導体装置。 - 前記書込アドレス特定手段は、外部からの前記係数データの取込過程に応じて、特定されるアドレス値をカウントアップまたはリセットする、請求項5に記載の半導体装置。
- 第1のデータ転送指令に応じて、前記第1の記憶手段に記憶されているデータを前記第2の記憶手段に転送する第1の転送手段と、
第2データ転送指令に応じて、前記第2の記憶手段に記憶されているデータを前記第1の記憶手段に転送する第2の転送手段とをさらに備える、請求項1〜6のいずれか1項に記載の半導体装置。 - 前記第1の転送手段は、前記第1の記憶手段と前記第2の記憶手段とを接続する第1の接続回路からなり、
前記第2の転送手段は、前記第2の記憶手段と前記第1の記憶手段とを接続する第2の接続回路とからなる請求項7に記載の半導体装置。 - 前記第1の転送手段は、割込処理が発生した場合に、前記第1の記憶手段に記憶されているデータを前記第2の記憶手段に記憶し、前記第2の転送手段は、前記割り込み処理が終了した後に、前記第2の記憶手段に記憶されていたデータを前記第1の記憶手段に記憶させる、請求項7または8に記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004153239A JP2005338929A (ja) | 2004-05-24 | 2004-05-24 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004153239A JP2005338929A (ja) | 2004-05-24 | 2004-05-24 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005338929A true JP2005338929A (ja) | 2005-12-08 |
Family
ID=35492471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004153239A Withdrawn JP2005338929A (ja) | 2004-05-24 | 2004-05-24 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005338929A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234076A (ja) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | 演算処理装置 |
WO2021145218A1 (ja) * | 2020-01-14 | 2021-07-22 | ソニーグループ株式会社 | 演算処理装置 |
-
2004
- 2004-05-24 JP JP2004153239A patent/JP2005338929A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234076A (ja) * | 2007-03-16 | 2008-10-02 | Fujitsu Ltd | 演算処理装置 |
JP4755129B2 (ja) * | 2007-03-16 | 2011-08-24 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
WO2021145218A1 (ja) * | 2020-01-14 | 2021-07-22 | ソニーグループ株式会社 | 演算処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5168571A (en) | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data | |
US7386646B2 (en) | System and method for interrupt distribution in a multithread processor | |
EP1058185A1 (en) | A multiply and accumulate apparatus and a method thereof | |
US5155817A (en) | Microprocessor | |
US9043806B2 (en) | Information processing device and task switching method | |
JPH08305568A (ja) | 情報処理装置 | |
TW201530320A (zh) | 資料處理裝置及半導體積體電路裝置 | |
JPH1091443A (ja) | 情報処理回路、マイクロコンピュータ及び電子機器 | |
JPH09330236A (ja) | マイクロプロセッサ及びその周辺装置 | |
US6986028B2 (en) | Repeat block with zero cycle overhead nesting | |
JP2008310693A (ja) | 情報処理装置 | |
JPH08221272A (ja) | 命令キャッシュに命令をロードする方法 | |
JPH07239780A (ja) | 1クロック可変長命令実行処理型命令読み込み電子計 算機 | |
JPH08212075A (ja) | 情報処理装置 | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
JP2005338929A (ja) | 半導体装置 | |
US20130212362A1 (en) | Image processing device and data processor | |
JPH07219766A (ja) | 演算処理装置 | |
US6745314B1 (en) | Circular buffer control circuit and method of operation thereof | |
JP3067253B2 (ja) | データ処理装置 | |
US5649229A (en) | Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage | |
JPS59501426A (ja) | 次段アドレスの計算を前もつて実行する機構 | |
US20230315456A1 (en) | Processing apparatus | |
US20230409323A1 (en) | Signal processing apparatus and non-transitory computer-readable storage medium | |
US20230418614A1 (en) | Processor, operation method, and load-store device for implementation of accessing vector strided memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |