(57)【要約】【課題】複数の演算ユニットの縮約演算を同時に行うことができる演算処理装置を提供する。【解決手段】本発明の一実施形態に係るプロセッサは、互いに並列動作する、複数の算術論理演算器と、前記複数の算術論理演算器から同時並行して出力される演算結果を一度に加算する第１の加算器を含む第１の縮約回路と、を含む。また、本発明の一実施形態に係る演算処理装置は、互いに並列動作する、複数の算術論理演算器と、前記複数の算術論理演算器から同時並行して出力される演算結果を一度に加算する第１の加算器を含む第１の縮約回路とをそれぞれ含む、複数のプロセッサを備える。【選択図】図２
2018092322.tif 000002
【特許請求の範囲】
【請求項１】
互いに並列動作する、複数の算術論理演算器と、
前記複数の算術論理演算器から同時並行して出力される演算結果を一度に加算する第１の加算器を含む第１の縮約回路と、
を含むプロセッサ。
【請求項２】
前記第１の縮約回路は、前記第１の加算器の演算結果をシフトして送信する、第１のシフタをさらに備える、請求項１に記載のプロセッサ。
【請求項３】
前記第１の縮約回路は、
前記シフトした演算結果を端数処理し、端数処理された演算結果を送信する第１の丸め器と、
前記端数処理された演算結果を飽和処理する第１の飽和器と、
をさらに備える、請求項２に記載のプロセッサ。
【請求項４】
前記第１の縮約回路は、前記第１の縮約回路における演算結果を、前記複数の算術論理演算器のうちの少なくとも１つに送信する、請求項１乃至請求項３の何れか一項に記載のプロセッサ。
【請求項５】
互いに並列動作する、複数の算術論理演算器と、前記複数の算術論理演算器から同時並行して出力される演算結果を一度に加算する第１の加算器を含む第１の縮約回路とをそれぞれ含む、複数のプロセッサを備える演算処理装置。
【請求項６】
前記第１の縮約回路は、前記第１の加算器の演算結果をシフトし、シフトした演算結果を前記第２の加算器に送信する第１のシフタをさらに備える、請求項５に記載の演算処理装置。
【請求項７】
前記第１の縮約回路は、
前記シフトした演算結果を端数処理し、端数処理された演算結果を送信する第１の丸め器と、
前記端数処理された演算結果を飽和処理する第１の飽和器と、
をさらに備える、請求項６に記載の演算処理装置。
【請求項８】
前記第１の縮約回路は、前記第１の縮約回路における演算結果を、前記複数の算術論理演算器のうちの少なくとも１つに送信する、請求項５乃至請求項７の何れか一項に記載の演算処理装置。
【請求項９】
前記複数のプロセッサの各々から出力される演算結果を受信し、受信した前記演算結果を順次メモリに送信する調停回路をさらに備える、請求項５乃至請求項８の何れか一項に記載の演算処理装置。
【請求項１０】
前記調停回路は、前記メモリに保持された演算結果を取得し、取得した前記演算結果を順次前記複数のプロセッサに送信する、請求項９に記載の演算処理装置。
【請求項１１】
前記複数のプロセッサの各々から同時並行して出力される演算結果を受信し、前記演算結果を一度に加算する第２の加算器を含み、演算結果をメモリに送信する第２の縮約回路をさらに備える、請求項５乃至請求項８の何れか一項に記載の演算処理装置。
【請求項１２】
前記第２の縮約回路は、
前記第２の加算器の演算結果をシフトする第２のシフタと、
シフトされた前記演算結果を端数処理する第２の丸め器と、
端数処理された前記演算結果を飽和処理する第２の飽和器と、
をさらに備える、請求項１１に記載の演算処理装置。
【請求項１３】
前記第２の縮約回路から演算結果を受信し、受信した演算結果を順次前記メモリに送信する調停回路をさらに備える請求項１１又は請求項１２に記載の演算処理装置。
【請求項１４】
前記調停回路は、前記メモリに保持された演算結果を取得し、取得した前記演算結果を順次前記複数のプロセッサに送信する、請求項１３に記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ及びプロセッサを備える演算処理装置に関する。
【背景技術】
【０００２】
演算処理装置として、単一の命令を複数のデータ列に適用して並列に処理するＳＩＭＤ（single instruction multiple data）型の並列演算処理装置が知られている。例えば、特許文献１には、複数の演算ユニットの縮約演算を実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２９６４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、複数の演算ユニットの縮約演算を演算ユニット毎に順次行うため、縮約演算を連続して行うことができないという問題があった。
【０００５】
本発明は、上記のような従来技術に伴う課題を解決しようとするものであって、その目的とするところは、複数の演算ユニットの縮約演算を同時に行うことができる演算処理装置を提供するところにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、互いに並列動作する、複数の算術論理演算器と、前記複数の算術論理演算器から同時並行して出力される演算結果を一度に加算する第１の加算器を含む第１の縮約回路と、を含むプロセッサが提供される。
【０００７】
前記第１の縮約回路は、前記第１の加算器の演算結果をシフトして送信する、第１のシフタをさらに備えてもよい。
【０００８】
前記第１の縮約回路は、前記シフトした演算結果を端数処理し、端数処理された演算結果を送信する第１の丸め器と、前記端数処理された演算結果を飽和処理する第１の飽和器と、をさらに備えてもよい。
【０００９】
前記第１の縮約回路は、前記第１の縮約回路における演算結果を、前記複数の算術論理演算器のうちの少なくとも１つに送信してもよい。
【００１０】
本発明の一実施形態によれば、互いに並列動作する、複数の算術論理演算器と、前記複数の算術論理演算器から同時並行して出力される演算結果を一度に加算する第１の加算器を含む第１の縮約回路とをそれぞれ含む、複数のプロセッサを備える演算処理装置が提供される。
【００１１】
前記第１の縮約回路は、前記第１の加算器の演算結果をシフトし、シフトした演算結果を前記第２の加算器に送信する第１のシフタをさらに備えてもよい。
【００１２】
前記第１の縮約回路は、前記シフトした演算結果を端数処理し、端数処理された演算結果を送信する第１の丸め器と、前記端数処理された演算結果を飽和処理する第１の飽和器と、をさらに備えてもよい。
【００１３】
前記第１の縮約回路は、前記第１の縮約回路における演算結果を、前記複数の算術論理演算器のうちの少なくとも１つに送信してもよい。
【００１４】
前記複数のプロセッサの各々から出力される演算結果を受信し、受信した前記演算結果を順次メモリに送信する調停回路をさらに備えてもよい。
【００１５】
前記調停回路は、前記メモリに保持された演算結果を取得し、取得した前記演算結果を順次前記複数のプロセッサに送信してもよい。
【００１６】
前記複数のプロセッサの各々から同時並行して出力される演算結果を受信し、前記演算結果を一度に加算する第２の加算器を含み、演算結果をメモリに送信する第２の縮約回路をさらに備えてもよい。
【００１７】
前記第２の縮約回路は、前記第２の加算器の演算結果をシフトする第２のシフタと、シフトされた前記演算結果を端数処理する第２の丸め器と、端数処理された前記演算結果を飽和処理する第２の飽和器と、をさらに備えてもよい。
【００１８】
前記第２の縮約回路から演算結果を受信し、受信した演算結果を順次前記メモリに送信する調停回路をさらに備えてもよい。
【００１９】
前記調停回路は、前記メモリに保持された演算結果を取得し、取得した前記演算結果を順次前記複数のプロセッサに送信してもよい。
【発明の効果】
【００２０】
本発明によれば、複数の演算ユニットの縮約演算を同時に行うことができる演算処理装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るデジタル信号処理装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係るデジタル信号処理装置構成の一例を示すブロック図である。
【図３】本発明の一実施形態に係るプロセッサにおける加算演算の一例を説明するためブロック図である。
【図４】本発明の一実施形態に係るデジタル信号処理装置における構成の一例を示すブロック図である。
【図５】本発明の一実施形態に係るデジタル信号処理装置における構成の一例を示すブロック図である。
【図６】本発明の一実施形態に係るデジタル信号処理装置における構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号を付し、その繰り返しの説明は省略する場合がある。
【００２３】
図１は、本発明の一実施形態に係るデジタル信号処理装置（演算処理装置）１００の構成を示すブロック図である。デジタル信号処理装置１００は、ＣＰＵインターフェース１０１、複数の演算部１０３（後述するプロセッサに対応する）、及びメモリ部１０５を備える。デジタル信号処理装置１００は、縮約部１０７（後述する第２の縮約回路２２１に対応する）を備えてもよい。
【００２４】
ＣＰＵインターフェース１０１は、ＣＰＵ（図示せず）と演算部１０３との接続を制御する。具体的には、ＣＰＵインターフェース１０１は、ＣＰＵから送信された処理手順を示すプログラムやデータを複数の演算部１０３に送信する。
【００２５】
複数の演算部１０３は、ＣＰＵインターフェース１０１を介して受信したＣＰＵから取得したプログラム及びデータに基づき、データの処理を行う。各演算部１０３の構成については後述する。
【００２６】
メモリ部１０５は、調停回路（後述する調停回路２２１に対応する）、及びメモリ（後述するメモリ２２３に対応する）を備える。メモリは、ＲＡＭから構成され、演算部１０３の演算結果を保持する。
【００２７】
図２は、本発明の一実施形態に係るデジタル信号処理装置１００の構成の一例を示すブロック図である。尚、図２において、ＣＰＵインターフェース１０１は、省略している。
【００２８】
図２に示すように、デジタル演算処理装置１００は、ｐ（複数）個の演算部を備える。以下では、演算部をプロセッサと呼び、ｐ個のプロセッサを、それぞれプロセッサ＃０、プロセッサ＃１・・・プロセッサｐ−１、プロセッサ＃ｐ−１と呼ぶ。プロセッサ＃０〜プロセッサ＃ｐ−１の各々は、図１に示した演算部１０３に対応している。プロセッサ＃０〜プロセッサ＃ｐ−１の各々は、ａ（複数）個の算術論理演算器ＡＬＵ＃０〜ＡＬＵ＃ａ−１と、ａ個のＡＬＵに対応する縮約回路２０１（以下、第１の縮約回路２０１と呼ぶ）とを備える。また、上述したように、デジタル信号処理装置１００は、ｐ個のプロセッサの各々の演算結果を縮約する縮約回路２１１（以下、第２の縮約回路２１１と呼ぶ）と、メモリ２２３、及びｐ個のプロセッサの演算結果を受信し、受信した演算結果を順次メモリ２２３に送信する調停回路２２１を含むメモリ部２２０とを備える。ここで、第２の縮約回路２１１は図１に示した縮約部１０７に対応し、メモリ部２２０は図１に示したメモリ部１０５に対応している。
【００２９】
各プロセッサプロセッサ＃０〜＃ｐ−１における、ａ個のＡＬＵの各々は、乗算器、加算器、レジスタ、シフタ、飽和器などを備え、算術演算及び／又は論理演算を行う。以下では、各プロセッサ＃０〜＃ｐ−１に含まれるａ個のＡＬＵのうち、ＡＬＵ＃０を初段のＡＬＵと呼び、ＡＬＵ＃ａ−１を最終段のＡＬＵと呼ぶ。各プロセッサにおけるａ個のＡＬＵは、互いに並列動作し、各々による演算結果をクロック信号に同期して同時に出力する。
【００３０】
第１の縮約回路２０１は、ａ個のＡＬＵから出力された演算結果を縮約する。第１の縮約回路２０１は、ａ個のＡＬＵから同時並行して出力された演算結果を一度に加算する加算器２０３（以下、第１の加算器２０３と呼ぶ）を備える。つまり、第１の加算器２０３は、ａ個のＡＬＵから同時並行して出力されたａ個の演算結果を同時に加算していく。
【００３１】
図３は、第１の加算器２０３が実行する加算の一例を説明するためのブロック図である。図３においては、１つのプロセッサに６４ユニットのＡＬＵ＃０〜ＡＬＵ＃６３が含まれていることを示しているが、各プロセッサが有するＡＬＵの数は、６４ユニットに限定されない。
【００３２】
図３に示すように、まず、ｎ番目のクロック信号に同期して６４個のＡＬＵ＃０〜ＡＬＵ＃６３から同時に出力された演算結果を加算演算（Ｓ１）が実行される。具体的には、ＡＬＵ＃０の演算結果及びＡＬＵ＃１の演算結果、ＡＬＵ＃２の演算結果及びＡＬＵ＃３の演算結果、ＡＬＵ＃４の演算結果及びＡＬＵ＃５の演算結果、・・・、ＡＬＵ＃６０の演算結果及びＡＬＵ＃６１の演算結果、ＡＬＵ＃６２の演算結果及びＡＬＵ＃６３の演算結果がそれぞれ加算される。つまり、６４個のＡＬＵ＃０〜ＡＬＵ＃６３から出力される６４個の演算結果は、１クロックサイクルで２個ずつ同時に加算される。Ｓ１において生成された３２個の演算結果は、データレジスタ（ＤＲ）に一時的に格納される。
【００３３】
次に、Ｓ１における演算結果は、ｎ＋１番目のクロック信号と同期してデータレジスタから読み出されて加算される（Ｓ２）。具体的には、ＡＬＵ＃０〜ＡＬＵ＃１からの演算結果を加算して生成された演算結果と、ＡＬＵ＃２〜ＡＬＵ＃３からの演算結果を加算して生成された演算結果とが加算される。同時に、ＡＬＵ＃４〜ＡＬＵ＃５からの演算結果を加算して生成された演算結果と、ＡＬＵ＃６〜ＡＬＵ＃７からの演算結果を加算して生成された演算結果とが加算される。ＡＬＵ＃８以降の演算結果から生成されたＳ１における演算結果も同様に加算される。つまり、Ｓ２においては、Ｓ１における３２個の演算結果が、１クロックサイクルで２個ずつ同時に加算され、１６個の演算結果が生成される。Ｓ２において生成された１６個の演算結果は、データレジスタ（ＤＲ）に一時的に格納される。
【００３４】
次に、Ｓ２における演算結果は、ｎ＋２番目のクロック信号と同期してデータレジスタから読み出されて加算される（Ｓ３）。具体的には、ＡＬＵ＃０〜ＡＬＵ＃３からの演算結果を加算して生成された演算結果と、ＡＬＵ＃４〜ＡＬＵ＃７からの演算結果を加算して生成された演算結果とが加算される。同時に、ＡＬＵ＃８〜ＡＬＵ＃１１からの演算結果を加算して生成された演算結果と、ＡＬＵ＃１２〜ＡＬＵ＃１５からの演算結果を加算して生成された演算結果とが加算される。ＡＬＵ＃８以降の演算結果から生成された演算結果も同様に加算される。つまり、Ｓ３においては、Ｓ２における１６個の演算結果が、１クロックサイクルで２個ずつ同時に加算され、８個の演算結果が生成される。Ｓ３において生成された８個の演算結果は、データレジスタ（ＤＲ）に一時的に格納される。
【００３５】
次に、Ｓ３における演算結果は、ｎ＋３番目のクロック信号と同期してデータレジスタから読み出されて加算される（Ｓ４）。具体的には、ＡＬＵ＃０〜ＡＬＵ＃７からの演算結果を加算して生成された演算結果と、ＡＬＵ＃８〜ＡＬＵ＃１５からの演算結果を加算して生成された演算結果とが加算される。同時に、ＡＬＵ＃１６〜ＡＬＵ＃２３からの演算結果を加算して生成された演算結果と、ＡＬＵ＃２４〜ＡＬＵ＃３１からの演算結果を加算して生成された演算結果とが加算される。ＡＬＵ＃３２以降の演算結果から生成された演算結果も同様に加算される。つまり、Ｓ４においては、Ｓ３における８個の演算結果が、１クロックサイクルで２個ずつ同時に加算され、４個の演算結果が生成される。Ｓ４において生成された４個の演算結果は、データレジスタ（ＤＲ）に一時的に格納される。
【００３６】
次に、Ｓ４における演算結果は、ｎ＋４番目のクロック信号と同期してデータレジスタから読み出されて加算される（Ｓ５）。具体的には、ＡＬＵ＃０〜ＡＬＵ＃１５からの演算結果を加算して生成された演算結果と、ＡＬＵ＃１６〜ＡＬＵ＃３１からの演算結果を加算して生成された演算結果とが加算される。同時に、ＡＬＵ＃３２〜ＡＬＵ＃４７からの演算結果を加算して生成された演算結果と、ＡＬＵ＃４８〜ＡＬＵ＃６３からの演算結果を加算して生成された演算結果とが加算される。つまり、Ｓ５においては、Ｓ４における４個の演算結果が、１クロックサイクルで２個ずつ同時に加算され、２個の演算結果が生成される。Ｓ５において生成された２個の演算結果は、データレジスタ（ＤＲ）に一時的に格納される。
【００３７】
次に、Ｓ５における演算結果は、ｎ＋５番目のクロック信号と同期してデータレジスタから読み出されて加算される（Ｓ６）。具体的には、ＡＬＵ＃０〜ＡＬＵ＃３１からの演算結果を加算して生成された演算結果と、ＡＬＵ＃３２〜ＡＬＵ＃６３からの演算結果を加算して生成された演算結果とが加算される。Ｓ６において生成された演算結果は、データレジスタ（ＤＲ）に一時的に格納され、ｎ＋６番目のクロック信号と同期して出力される。
【００３８】
以上に述べたように、第１の加算器２０３では、複数のＡＬＵから同時並行して出力された、ＡＬＵの数に対応する複数の演算結果を同時に連続して加算していく。そのため、複数のＡＬＵ（演算ユニット）の縮約演算をＡＬＵ毎に１つずつ順次行う従来技術とは異なり、連続した縮約演算を行うことができる。つまり、パイプライン処理によって縮約演算を行うことが可能になる。
【００３９】
尚、第１の加算器２０３が実行する加算の工程や加算に要するクロック数は、図３を参照して説明した態様に限定されるわけではなく、例えば、３入力以上の加算器を用いて加算が実行されてもよい。また、図３を参照して説明した態様では、１クロックサイクルで１段階の加算が行われている（Ｓ１〜Ｓ６）が、１クロックサイクルで多段階の加算が実行されてもよい。
【００４０】
再び図２を参照して、本発明の一実施形態に係るデジタル信号処理装置１００の構成について説明する。プロセッサ＃０〜プロセッサ＃ｐ−１における、第１の縮約回路２０１は、第１の加算器２０３の演算結果をシフトするシフタ２０５（以下、第１のシフタ２０５と呼ぶ）と、シフトした演算結果を端数処理する丸め器２０７（以下、第１の丸め器２０７と呼ぶ）と、端数処理された演算結果を飽和処理する飽和器２０９（以下、第１の飽和器２０９と呼ぶ）と、を備えてもよい。
【００４１】
第１のシフタ２０５は、第１の加算器２０３から出力された演算結果を受信し、受信された第１の加算器２０３からの演算結果に対してシフト演算を行う。第１のシフタ２０５でシフトされた演算結果は、第１の丸め器２０７に送信されてもよい。
【００４２】
第１の丸め器２０７は、シフトされた演算結果に対して、最近接丸め、０方向への丸め、＋∞への丸め、−∞への丸めなどの端数処理を行う。端数処理された演算結果は、第１の飽和器２０９に送信されてもよい。第１の飽和器２０９は、受信した端数処理された演算結果を飽和処理する。
【００４３】
第１の縮約回路２０１での演算結果は、クロック信号に同期して、プロセッサ＃０〜プロセッサ＃ｐ−１の各々から同時並行して出力される。第１のシフタ回路２０５、第１の丸め器２０７及び第１の飽和器２０９が省略される場合は、第１の加算器２０３での演算結果が各プロセッサ＃０〜プロセッサ＃ｐ−１の演算結果として出力される。第１の縮約回路２０１に第１のシフタ回路２０５、第１の丸め器２０７及び／又は第１の飽和器２０９が備えられる場合は、第１のシフタ回路２０５、第１の丸め器２０７又は第１の飽和器２０９での演算結果が各プロセッサ＃０〜プロセッサ＃ｐ−１の演算結果として出力されてもよい。
【００４４】
また、第１の縮約回路２０１での演算結果は、必要に応じて対応するプロセッサのＡＬＵに送信されてもよい。図２においては、第１の飽和器２０９での演算結果が対応するプロセッサのＡＬＵに送信される様子を示している。図２では、第１の飽和器２０９での演算結果が対応するプロセッサのＡＬＵ＃０にのみ送信される様子を示しているが、対応するプロセッサの全てのＡＬＵ＃０〜ＡＬＵ＃ａ−１に送信されてもよく、任意の複数のＡＬＵに送信されてもよい。尚、対応するプロセッサのＡＬＵに送信される第１の縮約回路２０１での演算結果は、第１のシフタ回路２０５、第１の丸め器２０７及び第１の飽和器２０９が省略される場合は、第１の加算器２０３での演算結果であってもよい。また、対応するプロセッサのＡＬＵに送信される第１の縮約回路２０１での演算結果は、第１のシフタ回路２０５又は第１の丸め器２０７での演算結果であってもよい。
【００４５】
プロセッサ＃０〜プロセッサ＃ｐ−１の各々から出力される演算結果は、メモリ部２２０に送信される。この際、プロセッサ＃０〜プロセッサ＃ｐ−１の各々から出力される演算結果は、ｐ個のプロセッサ＃０〜＃ｐ−１の各々から出力される演算結果を受信し、受信した演算結果を縮約する第２の縮約回路２１１を介してメモリ部２２０に送信される。または、プロセッサ＃０〜プロセッサ＃ｐ−１の各々から出力される演算結果は、第２の縮約回路２１１を介さずにメモリ部２２０に送信されてもよい。
【００４６】
図４は、プロセッサ＃０〜プロセッサ＃ｐ−１の各々から出力された演算結果が第２の縮約回路２１１に送信される構成を示したブロック図である。第２の縮約回路２１１は、ｐ個のプロセッサ＃０〜プロセッサ＃ｐ−１の各々から同時並行して出力された演算結果を一度に加算する加算器２１３（以下、第２の加算器２１３と呼ぶ）を備える。つまり、第２の加算器２１３は、ｐ個のプロセッサから同時並行して出力されたｐ個の演算結果を同時に連続して加算していく。そのため、複数のプロセッサの縮約演算をプロセッサ毎に１つずつ順次行う従来技術とは異なり、連続した縮約演算を行うことができる。つまり、パイプライン処理によって縮約演算を行うことが可能になる。第２の加算器２１３における加算演算は、上述した第１の加算器２０３での加算演算と同様であるため、詳細な説明は省略する。
【００４７】
第２の縮約回路２１１は、第２の加算器２１３の演算結果をシフトするシフタ２１５（以下、第２のシフタ２１５と呼ぶ）と、シフトした演算結果を端数処理する丸め器２１７（以下、第２の丸め器２１７と呼ぶ）と、端数処理された演算結果を飽和処理する飽和器２１９（以下、第２の飽和器２１９と呼ぶ）と、を備えてもよい。
【００４８】
第２のシフタ２１５は、第２の加算器２１３から出力された演算結果を受信し、受信された第１の加算器２０３からの演算結果に対してシフト演算を行う。第２のシフタ２１５でシフトされた演算結果は、第２の丸め器２１７に送信されてもよい。
【００４９】
第２の丸め器２１７は、シフトされた演算結果に対して、最近接丸め、０方向への丸め、＋∞への丸め、−∞への丸めなどの端数処理を行う。端数処理された演算結果は、第２の飽和器２１９に送信されてもよい。第２の飽和器２１９は、受信した端数処理された演算結果を飽和処理する。
【００５０】
第２の縮約回路２１１での演算結果は、メモリ部２２０の調停回路２２１に送信され、調停回路２２１を介してメモリ２２３に送信される。第２のシフタ回路２１５、第２の丸め器２１７及び第２の飽和器２１９が省略される場合は、第２の加算器２１３での演算結果が第２の縮約回路２１１の演算結果として出力される。第２の縮約回路２１１に第２のシフタ回路２１５、第２の丸め器２１７及び／又は第２の飽和器２１９が備えられる場合は、第２のシフタ回路２１５、第２の丸め器２１７又は第２の飽和器２１９での演算結果が第２の縮約回路２１１の演算結果として出力されてもよい。
【００５１】
以上、図４を参照して、第２の縮約回路２１１を介して、ｐ個のプロセッサプロセッサ＃０〜プロセッサ＃ｐ−１の各々から出力された演算結果を外部メモリ３に送信する構成を説明したが、本発明に係る演算処理装置において、第２の縮約回路２１１は省略されてもよい。
【００５２】
図５は、プロセッサ＃０〜プロセッサ＃ｐ−１の各々から出力された演算結果が第２の縮約回路２１１を介さずにメモリ部２２０に送信される構成を示したブロック図である。ｐ個のプロセッサ＃０〜プロセッサ＃ｐ−１の各々からの演算結果はメモリ部２２０の調停回路２２１に出力され、調停回路２２１は、受信したｐ個の演算結果を順次メモリ２２３に送信する。
【００５３】
尚、調停回路２２１は、メモリ２２３に保持された演算結果を取得し、取得した演算結果を順次プロセッサ＃０〜プロセッサ＃ｐ−１に送信することができる。図６は、調停回路２２１が取得した演算結果をプロセッサ＃０〜プロセッサ＃ｐ−１に送信する構成を示したブロック図である。
【００５４】
なお、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００５５】
１００：デジタル信号処理装置、１０１：ＣＰＵインターフェース、１０３：演算部、１０５：メモリ部、１０７：縮約部、２０１：第１の縮約回路、２０３：第１の加算器、２０５：第１のシフタ、２０７：第１の丸め器、２０９：第１の飽和器、２１１：第２の縮約回路、２１３：第２の加算器、２１５：第２のシフタ、２１７：第２の丸め器、２１９：第２の飽和器、２２０：メモリ部、２２１：調停回路、２２３：メモリ
【図１】
2018092322.tif 000003
【図２】
2018092322.tif 000004
【図３】
2018092322.tif 000005
【図４】
2018092322.tif 000006
【図５】
2018092322.tif 000007
【図６】
2018092322.tif 000008