(57)【要約】【課題】各々が複数のプロセッサを備える複数の演算ユニット間でメモリに記憶されるデータの共有を可能にする演算処理装置を提供する。【解決手段】本発明の一実施形態に係る演算処理装置は、互いに接続された複数の演算ユニットを備え、前記複数の演算ユニットの各々は、複数の算術論理演算器をそれぞれ含む、複数のプロセッサと、前記複数のプロセッサの演算結果を受信して保持するメモリと、を備え、前記メモリは、別の演算ユニット演算結果を受信して保持し、前記複数のプロセッサは、同一の演算ユニットのメモリに保持された前記演算結果を取得する。【選択図】図１
2018092325.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続された複数の演算ユニットを備え、
前記複数の演算ユニットの各々は、
複数の算術論理演算器をそれぞれ含む、複数のプロセッサと、
前記複数のプロセッサの演算結果を受信して保持するメモリと、を備え、
前記メモリは、別の演算ユニット演算結果を受信して保持し、
前記複数のプロセッサは、同一の演算ユニットのメモリに保持された前記演算結果を取得する、演算処理装置。
【請求項２】
前記複数の演算ユニットの各々は、前記複数のプロセッサの演算結果を受信し、受信した前記複数のプロセッサの演算結果を前記同一の演算ユニットのメモリに順次送信する第１の調停回路をさらに備える、請求項１に記載の演算処理装置。
【請求項３】
前記複数のプロセッサの各々は、前記複数の算術論理演算器の演算結果を縮約する第１の縮約回路をさらに備える、請求項１又は２に記載の演算処理装置。
【請求項４】
前記複数の演算ユニットの各々は、前記複数のプロセッサの演算結果を縮約する第２の縮約回路をさらに備える、請求項１乃至３の何れか一項に記載の演算処理装置。
【請求項５】
前記複数の演算ユニットの各々は、前記別の演算ユニットの演算結果を取得し、取得した前記別の演算ユニットの演算結果を前記同一の演算ユニットのメモリに順次送信する第２の調停回路をさらに備える、請求項１乃至４の何れか一項に記載の演算処理装置。
【請求項６】
前記複数の演算ユニットの各々は、前記第２の調停回路から、前記別の演算ユニットの演算結果を順次受信し、受信した前記別の演算ユニットの演算結果を縮約して前記同一の演算ユニットのメモリに送信する第３の縮約回路をさらに備える、請求項５に記載の演算処理装置。
【請求項７】
前記第１の調停回路は、前記同一の演算ユニットのメモリに保持された前記演算結果を取得し、取得した前記演算結果を順次前記複数のプロセッサに送信する、請求項２に記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置に関する。
【背景技術】
【０００２】
従来、複数のプロセッサで単一の共有メモリにアクセスし、書き込み及び読み出しを実行する技術がある。（例えば、特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０４−０２３０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、各々が複数のプロセッサを備える複数の演算ユニット間ではメモリの共有ができないという問題がある。また、複数のプロセッサに含まれる算術論理演算器（ALU：Arithmetic Logic Unit）のうち、任意のＡＬＵの演算結果を共有メモリに書き込めないという問題がある、また、演算ユニットに含まれるプロセッサの演算結果を効率よく共有メモリに書き込めないという問題がある。
【０００５】
本発明は、各々が複数のプロセッサを備える複数の演算ユニット間ではメモリの共有を可能にする演算処理装置を提供することを目的の一つとする。
【０００６】
また、本発明は、複数のプロセッサに含まれるＡＬＵのうち、任意のＡＬＵの演算結果を共有メモリに書き込むことができる演算処理装置を提供することを目的の一つとする。
【０００７】
また、本発明は、演算ユニットに含まれる任意のプロセッサの演算結果を共有メモリに書き込むことができる演算処理装置を提供することを目的の一つとする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態によれば、互いに接続された複数の演算ユニットを備え、前記複数の演算ユニットの各々は、複数の算術論理演算器をそれぞれ含む、複数のプロセッサと、前記複数のプロセッサの演算結果を受信して保持するメモリと、を備え、前記メモリは、別の演算ユニットの演算結果を受信して保持し、前記複数のプロセッサは、同一の演算ユニットのメモリに保持された前記演算結果を取得する、演算処理装置が提供される。
【０００９】
前記複数の演算ユニットの各々は、前記複数のプロセッサの演算結果を受信し、受信した前記複数のプロセッサの演算結果を前記同一の演算ユニットのメモリに順次送信する第１の調停回路をさらに備えてもよい。
【００１０】
前記複数のプロセッサの各々は、前記複数の算術論理演算器の演算結果を縮約する第１の縮約回路をさらに備えてもよい。
【００１１】
前記複数の演算ユニットの各々は、前記複数のプロセッサの演算結果を縮約する第２の縮約回路をさらに備えてもよい。
【００１２】
前記複数の演算ユニットの各々は、前記別の演算ユニットの演算結果を取得し、取得した前記別の演算ユニットの演算結果を前記同一の演算ユニットのメモリに順次送信する第２の調停回路をさらに備えてもよい。
【００１３】
前記複数の演算ユニットの各々は、前記第２の調停回路から、前記別の演算ユニットの演算結果を順次受信し、受信した前記別の演算ユニットの演算結果を縮約して前記同一の演算ユニットのメモリに送信する第３の縮約回路をさらに備えてもよい。
【００１４】
前記第１の調停回路は、前記同一の演算ユニットのメモリに保持された前記演算結果を取得し、取得した前記演算結果を順次前記複数のプロセッサに送信してもよい。
【発明の効果】
【００１５】
本発明によれば、各々が複数のプロセッサを備える複数の演算ユニット間で、メモリに記憶されるデータの共有を可能にする演算処理装置を提供することができる。
【００１６】
本発明によれば、複数のプロセッサに含まれるＡＬＵのうち、任意のＡＬＵの演算結果を共有メモリに書き込むことができる演算処理装置を提供することができる。
【００１７】
本発明によれば、演算ユニットに含まれる任意のプロセッサの演算結果を共有メモリに書き込むことができる演算処理装置を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る演算処理装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係る演算処理装置の演算ユニットの構成を示すブロック図である。
【図３】本発明の一実施形態に係る演算処理装置の演算部の構成を示すブロック図である。
【図４】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図５】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図６】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図７】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図８】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図９】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図１０】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【図１１】本発明の一実施形態に係る演算処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号（数字の後にＡ、Ｂなどを付しただけの符号）を付し、その繰り返しの説明は省略する場合がある。また、図面の寸法比率は説明の都合上実際の比率とは異なったり、構成の一部が図面から省略されたりする場合がある。
【００２０】
図１は、本発明の一実施形態に係る演算処理装置１００の概略構成を示すブロック図である。演算処理装置１００は、ＣＰＵ１０１と複数の演算ユニット１０３とを備える。尚、図１では、一例として４つの演算ユニット１０３ａ〜１０３ｄを示しているが、本発明に係る演算処理装置に含まれる演算ユニットの数は４つに限定されるわけではない。
【００２１】
ＣＰＵ１０１は、各演算ユニット１０３ａ〜１０３ｄに対し、処理手順を含むプログラム及びデータをロードし、実行するよう指示を行う。複数の演算ユニット１０３ａ〜１０３ｄは、ＣＰＵ１０１からロードしたプログラムに基づき、取得したデータの処理を実行する。また、演算ユニット１０３ａ〜１０３ｄは、取得したデータの処理を実行中にＣＰＵ１０１から新たなプログラム及びデータを順次ロードし、取得したデータの処理を実行する。複数の演算ユニット１０３ａ〜１０３ｄは、互いに接続されており、ＤＭＡによるデータの送受信が可能である。
【００２２】
図２は、演算ユニット１０３の概略構成の一例を示すブロック図である。演算ユニット１０３は、ＣＰＵインターフェース２０１、複数の演算部（プロセッサ）２０３−０〜２０３−７、共有メモリ部２０５を備える。尚、図２では、一例として８つの演算部２０３−０〜２０３−７を示しているが、演算ユニット１０３に含まれる演算部の数は８つに限定されるわけではない。演算ユニット１０３は、縮約部（後述する第２の縮約回路４０１に対応する）２０７を備えてもよい。図１における各演算ユニット１０３ａ〜１０３ｄは、図２に示す演算ユニット１０３の構成をそれぞれ有する。
【００２３】
ＣＰＵインターフェース２０１は、ＣＰＵ１０１と演算部２０３−０〜２０３−７との接続を制御する。具体的には、ＣＰＵインターフェース２０１は、ＣＰＵ１０１と演算部２０３−０〜２０３−７間のデータの送受信を行う。
【００２４】
演算部２０３−０〜２０３−７は、ＣＰＵインターフェース２０１を介したＣＰＵ１０１から取得したプログラム及びデータに基づき、演算を行う。演算部２０３−０〜２０３−７の構成については、後述する。
【００２５】
共有メモリ部２０５は、レジスタ、後述する第１の調停回路５０９及び第２の調停回路５１１を含む複数の調停回路、縮約回路（後述する第３の縮約回路５１３に対応する）、及びメモリ（後述するメモリ５１５に対応する）を備える。メモリは、ＲＡＭから構成され、演算部２０３−０〜２０３−７の演算結果を保持する。共有メモリ部２０５は、同一の演算ユニットにおける演算部２０３−０〜２０３−７の演算結果だけではなく、他の演算ユニットにおける演算部の演算結果を取得して保持することができる。つまり、共有メモリ部２０５のメモリは、演算処理装置１００の演算ユニット１０３ａ〜１０３ｄで共有されるメモリである。メモリに保持された演算結果は、同一の演算ユニットにおける演算部２０３−０〜２０３−７に送信されてもよい。
【００２６】
縮約部２０７は、縮約回路（後述する第２の縮約回路４０１に対応する）を備え、縮約回路は加算器を備える。縮約回路は、シフタ、丸め器及び飽和器を備えていてもよい。縮約部２０７は、演算部２０３−０〜２０３−７の演算結果を一度に加算する。加算された演算結果は、共有メモリ部２０５に送信される。
【００２７】
図３は、演算部の概略構成の一例を示すブロック図である。図３に示す演算部３０１は、図２における演算部２０３−０〜２０３−７の各々に対応する。演算部３０１は、ａ（複数）個のＡＬＵと、ａ個のＡＬＵに対応する第１の縮約回路３０３と、を備える。一例として、演算部３０１は、ＡＬＵを６４個備えてもよい。尚、演算部３０１に含まれるＡＬＵの数は、６４個に限定されるわけではない。
【００２８】
ａ個のＡＬＵの各々は、乗算器、加算器、レジスタ、シフタ、飽和器などを備え、算術演算及び／又は論理演算を行う。以下では、ａ個のＡＬＵのうち、ＡＬＵ＃０を初段のＡＬＵと呼び、ＡＬＵ＃ａ−１を最終段のＡＬＵと呼ぶ。ａ個のＡＬＵは、互いに並列動作し、各々による演算結果をクロック信号に同期して同時に出力する。
【００２９】
第１の縮約回路３０３は、ａ個のＡＬＵから出力された演算結果を縮約する。第１の縮約回路３０３は、ａ個のＡＬＵから同時並行して出力された演算結果を一度に加算する加算器３０５（以下、第１の加算器３０５と呼ぶ）を備える。つまり、第１の加算器３０５は、ａ個のＡＬＵから同時並行して出力されたａ個の演算結果をパイプライン処理にて加算する。
【００３０】
第１の縮約回路３０３は、第１の加算器３０５の演算結果をシフトするシフタ３０７（以下、第１のシフタ３０７と呼ぶ）と、シフトした演算結果を端数処理する丸め器３０９（以下、第１の丸め器３０９と呼ぶ）と、端数処理された演算結果を飽和処理する飽和器３１１（以下、第１の飽和器３１１と呼ぶ）と、を備えてもよい。
【００３１】
第１のシフタ３０７は、第１の加算器３０５から出力された演算結果を受信し、受信された第１の加算器３０５からの演算結果に対してシフト演算を行う。第１のシフタ３０７でシフトされた演算結果は、第１の丸め器３０９に送信されてもよい。
【００３２】
第１の丸め器３０９は、第１のシフタ３０７によってシフトされた演算結果に対して、最近接丸め、０方向への丸め、＋∞への丸め、−∞への丸めなどの端数処理を行う。第１の丸め器３０９によって端数処理された演算結果は、第１の飽和器３１１に送信されてもよい。第１の飽和器３１１は、受信した端数処理された演算結果を飽和処理する。
【００３３】
演算部３０１での演算結果は、図２に示した共有メモリ部２０５又は縮約部２０７に送信される。演算部３０１での演算結果は、第１の縮約回路３０３において第１のシフタ３０７、第１の丸め器３０９及び第１の飽和器３１１が省略される場合は、第１の加算器３０５での演算結果であってもよい。第１の縮約回路３０３において第１のシフタ３０７、第１の丸め器３０９及び／又は第１の飽和器３１１が備えられる場合は、第１のシフタ３０７、第１の丸め器３０９又は第１の飽和器３１１での演算結果が演算部３０１の演算結果として出力されてもよい。
【００３４】
また、第１の縮約回路３０３での演算結果は、必要に応じて対応する演算部３０１のＡＬＵに送信されてもよい。図３においては、第１の飽和器３１１でのＡＬＵ＃０に送信される様子を示している。図３では、第１の飽和器３１１での演算結果が対応するＡＬＵ＃０にのみ送信される様子を示しているが全てのＡＬＵ＃０〜ＡＬＵ＃ａ−１に送信されてもよく、任意の複数のＡＬＵに送信されてもよい。尚、ＡＬＵに送信される第１の縮約回路３０３での演算結果は、第１のシフタ３０７、第１の丸め器３０９及び第１の飽和器３１１が省略される場合は、第１の加算器３０５での演算結果であってもよい。また、ＡＬＵに送信される第１の縮約回路３０３での演算結果は、第１のシフタ３０７又は第１の丸め器３０９での演算結果であってもよい。
【００３５】
図４は、１つの演算ユニット１０３ａにおいて、演算部２０３−０〜２０３−７から出力された演算結果が、第２の縮約回路４０１又は共有メモリ部４０３に送信される構成を示したブロック図である。各演算部２０３−０〜２０３−７は、図３に示した演算部３０１と同じ構成を有する。図４における第２の縮約回路４０１は図２に示した縮約部２０７に対応し、共有メモリ部４０３は図２に示した共有メモリ部２０５に対応する。また、図４において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００３６】
図４に示すように、１つの演算ユニット１０３ａにおいて、演算部２０３−０〜２０３−７の演算結果は、第２の縮約回路４０１に送信される。演算部２０３−０〜２０３−７の演算結果は、第２の縮約回路４０１において互いに加算され、加算された演算結果が共有メモリ部４０３に送信されて記憶、保持されてもよい。また、演算部２０３−０〜２０３−７の演算結果は、共有メモリ部２０５に直接送信されて記憶、保持されてもよい。
【００３７】
図示はしていないが、演算ユニット１０３ｂ〜１０３ｄも演算ユニット１０３ａと同じ構成を有する。各演算ユニット１０３ｂ〜１０３ｄの共有メモリ部４０３は、同一の演算ユニット内の演算部２０３−０〜２０３−７の演算結果だけではなく、他の演算ユニットにおける共有メモリ部と接続し、他の演算ユニットの演算部の演算結果を取得して保持することができる。つまり、演算ユニット１０３ａの共有メモリ部４０３は、他の演算ユニット１０３ｂ〜１０３ｄの図示していない共有メモリ部と接続し、他の演算ユニット１０３ｂ〜１０３ｄにおける演算結果を取得し、保持することができる。また、共有メモリ部４０３のメモリに保持された演算結果は、同じ演算ユニットの演算部２０３−０〜２０３−７に送信されることができる。つまり、演算ユニット１０３ａの共有メモリ部４０３のメモリに保持された演算結果は、演算ユニット１０３ａの演算部２０３−０〜２０３−７に送信されることができる。
【００３８】
図５は、演算ユニット１０３ａの第２の縮約回路４０１及び共有メモリ部４０３の概略構成を示したブロック図である。図５において、演算ユニット１０３ａの演算部２０３−０〜２０３−７の内部構成は、省略して示している。また、図５において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００３９】
演算ユニット１０３ａにおいて、第２の縮約回路４０１は、演算部２０３−０〜２０３−７から出力された演算結果を縮約する。第２の縮約回路４０１は、演算部２０３−０〜２０３−７から同時並行して出力された演算結果を一度に加算する加算器５０１（以下、第２の加算器５０１と呼ぶ）を備える。つまり、第２の加算器５０１は、演算部２０３−０〜２０３−７から同時並行して出力された８個の演算結果をパイプライン処理にて加算する。
【００４０】
第２の縮約回路４０１は、第２の加算器５０１の演算結果をシフトするシフタ５０３（以下、第２のシフタ５０３と呼ぶ）と、シフトした演算結果を端数処理する丸め器５０５（以下、第２の丸め器５０５と呼ぶ）と、端数処理された演算結果を飽和処理する飽和器５０７（以下、第２の飽和器５０７と呼ぶ）と、を備えてもよい。
【００４１】
第２のシフタ５０３は、第２の加算器５０１から出力された演算結果を受信し、受信された第２の加算器５０１からの演算結果に対してシフト演算を行う。第２のシフタ５０３でシフトされた演算結果は、第２の丸め器５０５に送信されてもよい。
【００４２】
第２の丸め器５０５は、第２のシフタ５０３によってシフトされた演算結果に対して、最近接丸め、０方向への丸め、＋∞への丸め、−∞への丸めなどの端数処理を行う。第２の丸め器５０５によって端数処理された演算結果は、第２の飽和器５０７に送信されてもよい。第２の飽和器５０７は、受信した端数処理された演算結果を飽和処理する。
【００４３】
第２の縮約回路４０１での演算結果は、共有メモリ部４０３に送信される。第２の縮約回路４０１での演算結果は、第２の縮約回路４０１において第２のシフタ５０３、第２の丸め器５０５及び第２の飽和器５０７が省略される場合は、第２の加算器５０１での演算結果であってもよい。第２の縮約回路４０１において第２のシフタ５０３、第２の丸め器５０５及び／又は第２の飽和器５０７が備えられる場合は、第２のシフタ５０３、第２の丸め器５０５又は第２の飽和器５０７での演算結果が第２の縮約回路４０１の演算結果として出力されてもよい。
【００４４】
尚、演算部２０３−０〜２０３−７からの演算結果は、第２の縮約回路４０１において縮約されずに、そのまま、共有メモリ部４０３のメモリ５１５に書き込まれてもよい。この場合、演算部２０３−０〜２０３−７からの演算結果は、第２の縮約回路４０１を介さずに、そのまま共有メモリ部４０３に送信される。
【００４５】
演算ユニット１０３ａにおいて、共有メモリ部４０３は、第１の調停回路５０９、第２の調停回路５１１、第３の縮約回路５１３及びメモリ５１５を備える。
【００４６】
第１の調停回路５０９は、演算部２０３−０〜２０３−７から出力された演算結果を第２の調停回路５１１に送信する。演算部２０３−０〜２０３−７から出力された演算結果は、第２の縮約回路４０１から出力された縮約された演算結果であってもよく、演算部２０３−０〜２０３−７からそれぞれ出力された演算結果であってもよい。第１の調停回路５０９は、演算部２０３−０〜２０３−７からそれぞれ出力された演算結果を受信する場合、受信した演算結果を第２の調停回路５１１に順次送信する。また、第１の調停回路５０９は、メモリ５１５に保持された演算結果を取得し、取得した演算結果を演算部２０３−０〜２０３−７に順次送信する。
【００４７】
第２の調停回路５１１は、第１の調停回路５０９から受信した演算結果を第３の縮約回路５１３に送信する。また、第２の調停回路５１１は、他の演算ユニット１０３ｂ〜１０３ｄの演算結果を受信し、第３の縮約回路５１３に送信する。具体的には、第２の調停回路５１１は、他の演算ユニット１０３ｂ〜１０４へ／から演算結果を送受信する、共有メモリ部４０３の送受信部（図示せず）を介して他の演算ユニット１０３ｂ〜１０３ｄから送信された演算結果を受信し、第３の縮約回路５１３に送信する。
【００４８】
後述する第３の縮約回路５１３において、演算ユニット１０３ａ〜１０３ｄの演算結果を縮約する場合、第２の調停回路５１１は、第１の調停回路５０９から受信した演算ユニット１０３ａの演算結果と他の演算ユニット１０３ｂ〜１０３ｄの演算結果を同時に第３の縮約回路５１３に送信する。また、第３の縮約回路５１３において、演算ユニット１０３ａ〜１０３ｄの演算結果を縮約しない場合、第２の調停回路５１１は、受信した演算ユニット１０３ａ〜１０３ｄの演算結果を優先度に基づき、第３の縮約回路５１３に順次送信する。当該優先度は、固定されていてもよく、可変であってもよい。
【００４９】
また、第２の調停回路５１１は、演算ユニット１０３ａの演算部２０３−０〜２０３−７から出力された演算結果を送受信部に送信する。送受信部に送信された演算結果は、他の演算ユニット１０３ｂ〜１０３ｄの共有メモリ部に送信される。
【００５０】
第３の縮約回路５１３は、第２の調停回路５１１から受信した演算結果を縮約する。即ち、第３の縮約回路５１３は、受信した演算結果を加算する加算器を備える。また、第３の縮約回路５１３は、加算器によって加算された演算結果をシフトするシフタ、シフトされた演算結果を端数処理する丸め器、及び／又は受信した端数処理された演算結果を飽和処理する飽和器を備えてもよい。第３の縮約回路５１３の構成は、上述した第１の縮約回路３０３及び第２の縮約回路４０１と略同じであるため、詳細な説明は省略する。第３の縮約回路５１３は、演算結果をメモリ５１５に送信する。メモリ５１５は、第３の縮約回路５１３から送信された演算結果を記憶し、保持する。以下、図６〜図１１を参照して、本発明の一実施形態に係る演算処理装置の構成について詳しく説明する。
【００５１】
図６は、演算ユニット１０３ａにおいて、演算ユニット１０３ａの演算部２０３−０〜２０３−７から出力されたそれぞれの演算結果ｒｃ２０３−０〜ｒｃ２０３−７をメモリ５１５に書き込む構成を示したブロック図である。図６において、演算ユニット１０３ａの演算部２０３−０〜２０３−７の内部構成は、省略して示している。また、図６において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００５２】
図６に示すように、演算部２０３−０〜２０３−７から出力されたそれぞれの演算結果ｒｃ２０３−０〜ｒｃ２０３−７は、共有メモリ部４０３の第１の調停回路５０９に送信される。第１の調停回路５０９は、演算結果ｒｃ２０３−０〜ｒｃ２０３−７を第２の調停回路５１１に順次送信する。つまり、第１の調停回路５０９は、演算結果ｒｃ２０３−０〜ｒｃ２０３−７の優先度を決定し、優先度の高い順に第２の調停回路５１１に順次送信する。演算結果ｒｃ２０３−０〜ｒｃ２０３−７の優先度は、固定されていてもよく、可変であってもよい。
【００５３】
第２の調停回路５１１は、受信した演算結果ｒｃ２０３−０〜ｒｃ２０３−７を第３の縮約回路５１３に順次送信する。第３の縮約回路５１３は、受信した演算結果ｒｃ２０３−０〜ｒｃ２０３−７の各々に０（ゼロ）を加算し、メモリ５１に送信する。第３の縮約回路５１３では、加算器によって演算結果ｒｃ２０３−０〜ｒｃ２０３−７の各々に０（ゼロ）を加算するため、実質的に演算結果ｒｃ２０３−０〜ｒｃ２０３−７がそのままメモリ５１５に送信され、メモリ５１５に記憶され、保持される。第３の縮約回路５１３では、必要に応じて、演算結果ｒｃ２０３−０〜ｒｃ２０３−７が、飽和器によって飽和されてもよい。ここでは、演算結果ｒｃ２０３−０〜ｒｃ２０３−７の各々が加算器によって０（ゼロ）を加算された後に、飽和器によって飽和処理された場合の演算結果も演算結果ｒｃ２０３−０〜ｒｃ２０３−７として記載する。
【００５４】
また、演算結果ｒｃ２０３−０〜ｒｃ２０３−７を他の演算ユニット１０３ｂ〜１０４ｄの共有メモリ部のメモリに書き込む場合、第２の調停回路５１１は、第１の調停回路５０９から順次送信されてくる演算結果ｒｃ２０３−０〜ｒｃ２０３−７を送受信部を介して他の演算ユニット１０３ｂ〜１０４ｄの共有メモリ部の送受信部に送信する。
【００５５】
図示はしていないが、演算ユニット１０３ｂ〜１０４ｄの各々において、演算ユニット１０３ａから送信された演算結果ｒｃ２０３−０〜ｒｃ２０３−７は、演算ユニット１０３ｂ〜１０４ｄのそれぞれの共有メモリ部の送受信部から演算ユニット１０３ｂ〜１０４ｄの共有メモリ部の第２の調停回路に送信される。第２の調停回路に送信された演算ユニット１０３ａの演算結果ｒｃ２０３−０〜ｒｃ２０３−７は、演算ユニット１０３ｂ〜１０４ｄそれぞれの共有メモリ部の第３の縮約回路に送信され、第３の縮約回路において０（ゼロ）加算される。第３の縮約回路から出力された演算結果ｒｃ２０３−０〜ｒｃ２０３−７は、演算ユニット１０３ｂ〜１０４ｄのそれぞれの共有メモリ部のメモリに送信されて記憶、保持される。
【００５６】
以上では、演算ユニット１０３ａにおける全ての演算部２０３−０〜２０３−７の演算結果ｒｃ２０３−０〜ｒｃ２０３−７を共有メモリ部４０３のメモリ５１５に書き込む例について説明したが、演算ユニット１０３ａにおける演算部２０３−０〜２０３−７のうち、任意の演算部の演算結果がメモリ５１５に書き込まれてもよい。
【００５７】
図７は、演算ユニット１０３ａにおける演算部２０３−０のＡＬＵ＃０の演算結果ｒｃ２０３−０をメモリ５１５に書き込む構成を示すブロック図である。図７において、第１の縮約回路３０３及び第２の縮約回路４０１の内部構成は省略して示している。また、図７において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００５８】
図７に示すように、演算部２０３−０のＡＬＵ＃０から出力された演算結果ｒｃ２０３−０は、第１の縮約回路３０３に送信される。演算部のＡＬＵ＃０を除くＡＬＵ＃１〜ＡＬＵ＃ａ−１からは、０（ゼロ）が演算結果ｒｃ２０３−１〜ｒｃ２０３ａ−１として出力される。第１の縮約回路３０３は、受信した演算結果ｒｃ２０３−０〜ｒｃ２０３ａ−１を第１の加算器３０５によって加算し、第２の縮約回路４０１に送信する。第１の縮約回路３０３では、演算結果ｒｃ２０３−０に演算結果ｒｃ２０３−１〜ｒｃ２０３ａ−１である０（ゼロ）を加算するため、実質的にＡＬＵ＃０の演算結果ｒｃ２０３−０がそのまま第２の縮約回路４０１に送信される。この際、第１の縮約回路３０３では、必要に応じて、０が加算された演算結果ｒｃ２０３−０が、第１のシフタ３０５によってシフトされてもよく、第１の丸め器３０９によって端数処理されてもよく、第１の飽和器３１１によって飽和されてもよい。ここでは、演算結果ｒｃ２０３−０が第１の加算器３０５によって０（ゼロ）を加算された後に、第１のシフタ３０７、第１の丸め器３０９及び／又は第１の飽和器３１１によってシフト、丸め（端数処理）及び／又は飽和された場合の演算結果も演算結果ｒｃ２０３として記載する。
【００５９】
尚、演算ユニット１０３ａにおける、演算部２０３−１〜２０３−７の第１の縮約回路からは、０（ゼロ）が演算部２０３−１〜２０３−７の演算結果として、第２の縮約回路４０１に出力される。
【００６０】
第２の縮約回路４０１は、演算部２０３−０〜２０３−７の第１の縮約回路から受信した演算結果を加算する。具体的には、第２の縮約回路４０１は、演算部２０３−０の第１の縮約回路３０３から出力された、演算結果ｒｃ２０３−０に演算部２０３−１〜２０３−７から出力された演算結果である０（ゼロ）を第２の加算器５０１によって加算し、加算された演算結果を共有メモリ部４０３の第１の調停回路５０９に送信する。第２の縮約回路４０１では、第１の縮約回路３０３から受信した演算結果ｒｃ２０３−０に０（ゼロ）を加算するため、実質的にＡＬＵ＃０の演算結果ｒｃ２０３−０がそのまま第１の調停回路５０９に送信される。第２の縮約回路４０１では、必要に応じて、第２の加算器５０１による演算結果ｒｃ２０３−０が、第２のシフタ５０３によってシフトされてもよく、第２の丸め器５０５によって端数処理されてもよく、第２の飽和器５０７によって飽和されてもよい。ここでは、演算部２０３−０の演算結果ｒｃ２０３−０が第２の加算器５０１によって０（ゼロ）を加算された後に、第２のシフタ５０３、第２の丸め器５０５及び／又は第２の飽和器５０７によってシフト、丸め（端数処理）及び／又は飽和された場合の演算結果も演算結果ｒｃ２０３として記載する。
【００６１】
第１の調停回路５０９は、第２の縮約回路４０１から受信した演算結果ｒｃ２０３−０を第２の調停回路５１１に送信する。第２の調停回路５１１は、第１の調停回路５０９から受信した演算結果ｒｃ２０３−０を第３の縮約回路５１３に送信する。第３の縮約回路５０９は、受信した演算結果ｒｃ２０３−０に０（ゼロ）を加算し、加算した演算結果をメモリ５１に送信する。第３の縮約回路５１３では、第２の調停回路５１１から受信した演算結果ｒｃ２０３−０に０（ゼロ）を加算するため、実質的にＡＬＵ＃０の演算結果ｒｃ２０３−０がそのままメモリ５１５に送信され、メモリ５１５に記憶され、保持される。
【００６２】
また、演算ユニット１０３ａの演算部２０３−０のＡＬＵ＃０の演算結果ｒｃ２０３−０を他の演算ユニット１０３ｂ〜１０４ｄの共有メモリ部のメモリに書き込む場合、第２の調停回路５１１は、第１の調停回路５０９から送信された演算結果ｒｃ２０３−０を送受信部を介して、他の演算ユニット１０３ｂ〜１０４ｄの共有メモリ部の送受信部に送信する。
【００６３】
図示はしていないが、演算ユニット１０３ａから送信された演算結果ｒｃ２０３−０は、送信先の演算ユニット１０３ｂ〜１０４ｄのそれぞれの共有メモリ部の送受信部から演算ユニット１０３ｂ〜１０４ｄの共有メモリ部の第２の調停回路に送信される。演算ユニット１０３ｂ〜１０４ｄの第２の調停回路に送信された演算結果ｒｃ２０３−０は、演算ユニット１０３ｂ〜１０４ｄそれぞれの共有メモリ部の第３の縮約回路に送信され、第３の縮約回路において０（ゼロ）が加算される。第３の縮約回路から出力された演算結果ｒｃ２０３−０は、演算ユニット１０３ｂ〜１０４ｄのそれぞれの共有メモリ部のメモリに送信され、該メモリに記憶され、保持される。
【００６４】
以上に述べたように、本発明の一実施形態に係る演算処理装置１００では、演算ユニットにおける、任意の演算部の任意のＡＬＵの演算結果だけをメモリに書き込み、保持することができる。
【００６５】
また、以上では、演算ユニット１０３ａにおける任意の演算部の任意のＡＬＵの演算結果を共有メモリ部４０３のメモリ５１５に書き込む例について説明したが、図７に示した本発明の一実施形態に係る演算処理装置１００の構成によると、演算ユニット１０３ａにおける任意の演算部の任意の複数のＡＬＵの演算結果を縮約し、縮約された演算結果を共有メモリ部４０３のメモリ５１５に書き込むことができる。また、任意の複数の演算部の演算結果を縮約し、縮約された演算結果を共有メモリ部４０３のメモリ５１５に書き込むことができる。
【００６６】
例えば、演算ユニット１０３ａにおける演算部２０３−０の任意の複数のＡＬＵの演算結果を縮約し、縮約された演算結果を共有メモリ部４０３のメモリ５１５に書き込む場合、メモリ５１５に書き込む複数のＡＬＵの演算結果が第１の縮約回路３０３において加算処理され、加算された演算結果が第２の縮約回路４０１に送信される。第２の縮約回路４０１以降の処理は、図７を参照して説明したとおりである。
【００６７】
また、例えば、任意の複数の演算部の演算結果を縮約し、縮約された演算結果を共有メモリ部４０３のメモリ５１５に書き込む場合、メモリ５１５に書き込む複数の演算部の演算結果が第２の縮約回路４０１において加算処理され、加算された演算結果が共有メモリ部４０３の第１の調停回路５０９に出力される。第１の調停回路５０９以降の処理は、図７を参照して説明したとおりである。
【００６８】
図８は、演算ユニット１０３ｂ〜１０３ｄでの演算結果を演算ユニット１０３ａの共有メモリ部４０３のメモリ５１５に書き込む構成を示すブロック図である。図８において、演算ユニット１０３ａにおける演算部２０３−０〜２０３−７及び第１の縮約回路３０３の内部構成は省略して示している。また、図８において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００６９】
図８に示すように、各演算ユニット１０３ｂ〜１０３ｄの演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄは、演算ユニット１０３ｂ〜１０３ｄの各々の共有メモリ部における第２の調停回路から送受信部を介して演算ユニット１０３ａの共有メモリ部４０３に送信される。演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄは、各演算ユニット１０３ｂ〜１０３ｄにおいて、図６及び図７を参照して説明した演算ユニット１０３ａでの処理と同様の処理が行われることにより生成された演算結果である。
【００７０】
演算ユニット１０３ｂ〜１０３ｄの各々から送信された演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄは、演算ユニット１０３ａの共有メモリ部４０３の送受信部によって受信され、送受信部から第２の調停回路５１１に送信される。
【００７１】
第２の調停回路５１１によって受信された、演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄは、第２の調停回路５１１から、第３の縮約回路５１３に順次送信される。即ち、第２の調停回路５１１は、演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄを優先度に基づいて第３の縮約回路５１３に順次送信する。当該優先度は、固定されていてもよく、可変であってもよい。
【００７２】
第３の縮約回路５１３は、受信した演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄのそれぞれに０（ゼロ）を加算し、加算した演算結果をそれぞれメモリ５１５に送信する。第３の縮約回路５１３では、第２の調停回路５１１から受信した各演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄに０（ゼロ）を加算するため、実質的に演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄがそのままメモリ５１５に送信されて記憶され、保持される。
【００７３】
以上に述べたように、本発明の一実施形態に係る演算処理装置１００では、他の演算ユニットにおける演算結果を取得し、取得した演算結果を対応するメモリに書き込み、保持することができる。
【００７４】
尚、図８では、演算ユニット１０３ａが、他の演算ユニット１０３ｂ〜１０３ｄの演算結果を取得する例を説明したが、演算ユニット１０３ａは、他の演算ユニット１０３ｂ〜１０３ｄのうち、任意演算ユニットの演算結果を取得し、取得した演算結果を対応するメモリに書き込み、保持することができる。
【００７５】
図９は、演算ユニット１０３ａ〜１０３ｄの各々における演算結果を全て縮約し、各演算ユニット１０３〜１０３ｄのメモリに記憶、保持する構成を示すブロック図である。図９において、第２の縮約回路４０１の内部構成は省略して示している。また、図９において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００７６】
まず、各演算ユニット１０３ａ〜１０３ｄの各々において、全ての演算部の演算結果が縮約される。つまり、各演算ユニット１０３ａ〜１０３ｄの各々において、各演算部に含まれる全てのＡＬＵの演算結果が縮約された後、演算部単位で縮約された演算結果が演算ユニット単位で縮約される。次に、演算ユニット単位で縮約された演算結果は、各演算ユニットから他の演算ユニットに送信される。他の演算ユニットからの演算結果は、送信先の演算ユニットの演算結果と縮約されて、送信先のメモリに記憶され、保持される。
【００７７】
各演算ユニット１０３ａ〜１０３ｄの各々における、演算部単位での演算結果の縮約について説明する。図９に示すように、演算ユニット１０３ａの演算部２０３−０〜２０３−７の各ＡＬＵ＃０〜ＡＬＵ＃ａ−１から出力された演算結果は、対応する演算部の第１の縮約回路３０３に送信され、第１の縮約回路３０３によって縮約される。第１の縮約回路３０３は、ａ個のＡＬＵ（ＡＬＵ＃０〜ＡＬＵ＃ａ−１）から出力された演算結果を縮約する。具体的には、第１の縮約回路３０３は、ａ個のＡＬＵから同時並行して出力された演算結果を第１の加算器３０５によってパイプライン処理にて加算する。加算された演算結果は、第１の縮約回路３０３における第１のシフタ３０７〜第１の飽和器３１１によって、シフト、端数処理（丸め）及び／又は飽和されてもよい。各演算部２０３−０〜２０３−７の演算結果ｒｃ２０３−０〜ｒｃ２０３−７は、第２の縮約回路４０１に出力される。
【００７８】
以上に述べた演算ユニット１０３ａにおける演算部単位での演算結果の縮約と同様に、演算ユニット１０３ｂ〜１０３ｄにおいても、演算部単位で演算結果が縮約され、縮約された演算結果は、演算ユニット１０３ｂ〜１０３ｄそれぞれの第２の縮約回路に出力される。
【００７９】
次に、演算ユニット単位での演算結果の縮約について説明する。上述したように、演算部単位で縮約された演算結果は、演算ユニット１０３ａ〜１０３ｄそれぞれの第２の縮約回路に送信され、縮約される。例えば、図９に示すように、演算ユニット１０３ａにおいて、各演算部２０３−０〜２０３−７の演算結果ｒｃ２０３−０〜ｒｃ２０３−７は、各演算部２０３−０〜２０３−７の第１の縮約回路３０３から、第２の縮約回路４０１に同時並行に出力される。第２の縮約回路４０１は、演算部２０３−０〜２０３−７から出力された演算結果ｒｃ２０３−０〜ｒｃ２０３−７を縮約する。具体的には、第２の縮約回路４０１は、演算部２０３−０〜２０３−７から同時並行して出力された演算結果ｒｃ２０３−０〜ｒｃ２０３−７を加算器５０１によってパイプライン処理にて加算する。加算された演算結果は、第２の縮約回路４０１における第２のシフタ５０３〜第２の飽和器５０７によって、シフト、端数処理（丸め）及び／又は飽和されてもよい。第２の縮約回路４０１は、各演算部２０３−０〜２０３−７の演算結果を縮約した演算結果ｒｃ１０３を共有メモリ部４０３の第１の調停回路５０９に出力する。
【００８０】
以上に述べた演算ユニット１０３ａにおける各演算部２０３−０〜２０３−７の演算結果ｒｃ２０３−０〜ｒｃ２０３−７の縮約と同様に、演算ユニット１０３ｂ〜１０３ｄにおいても、各演算部の演算結果が縮約され、演算ユニット単位で縮約された演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄは、演算ユニット１０３ｂ〜１０３ｄそれぞれの共有メモリ部の第１の調停回路に出力される。
【００８１】
各演算ユニット１０３ａ〜１０３ｄにおいて、第１の調停回路は、第２の縮約回路から出力された演算結果を第２の調停回路に送信する。具体的には、図９に示すように、演算ユニット１０３ａにおいて、第１の調停回路５０９は、第２の縮約回路４０１から出力された演算結果ｒｃ１０３ａを第２の調停回路５１１に送信する。演算ユニット１０３ｂ〜１０３ｄにおいても、同様に、第２の縮約回路から出力された演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄは、第１の調停回路から第２の調停回路に送信される。
【００８２】
第２の調停回路は、第１の調停回路から受信した演算結果を第３の縮約回路に送信する。また、第２の調停回路は、第１の調停回路から受信した演算結果を送受信部を介して他の演算ユニットに送信する。また、第２の調停回路は、他の演算ユニットから該他の演算ユニットの第２の調停回路から出力された演算結果を送受信部を介して受信し、第３の縮約回路に送信する。つまり、演算ユニット１０３ａ〜１０３ｄは、演算ユニット単位での演算結果を、互いに送受する。
【００８３】
具体的には、図９に示すように、演算ユニット１０３ａにおいて、第２の調停回路５１１は、第１の調停回路５０９から受信した演算結果ｒｃ１０３ａを第３の縮約回路５１３に送信する。また、図１０に示すように、第２の調停回路５１１は、演算結果ｒｃ１０３ａを送受信部を介して他の演算ユニット１０３ｂ〜１０３ｄに送信する。演算ユニット１０３ａから送信された演算結果ｒｃ１０３ａは、送信先の演算ユニット１０３ｂ〜１０３ｄにおける共有メモリ部の送受信部によって受信され、送信先の演算ユニット１０３ｂ〜１０３ｄの第２の調停回路に送信される。同様に、演算ユニット１０３ｂ〜１０３ｄから送信された、演算ユニット１０３ｂ〜１０３ｄでの演算結果ｒｃ１０３−ｂ〜ｒｃ１０３ｄは、演算ユニット１０３ａの共有メモリ４０３の送受信部を介して第２の調停回路５１１に送信される。
【００８４】
演算ユニット１０３ａにおいて、第２の調停回路５１１は、演算ユニット１０３ｂ〜１０３ｄから送信された演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄを受信し、第１の調停回路５０９から受信した演算結果ｒｃ１０３ａとともに第３の縮約回路５１３に同時に送信する。同様に、演算ユニット１０３ｂ〜１０３ｄにおいても、各演算ユニット１０３ｂ〜１０３ｄに送信された他の演算ユニットの演算結果は、各演算ユニット１０３ｂ〜１０３ｄの第２の調停回路から第３の縮約回路に送信される。
【００８５】
演算ユニット１０３ａの第３の縮約回路５１３は、演算ユニット１０３ａの演算結果ｒｃ１０３ａと演算ユニット１０３ｂ〜１０３ｄから送信された演算結果ｒｃ１０３ｂ〜ｒｃ１０３ｄとを縮約する。具体的には、第３の縮約回路５１３は、演算結果ｒｃ１０３ａ〜ｒｃ１０３ｄを加算器によって加算する。加算された演算結果ｒｃ１０３（ａ＋ｂ＋ｃ＋ｄ）は、第３の縮約回路５１５におけるシフタ、丸め器及び／又は飽和器によって、シフト、端数処理（丸め）及び／又は飽和されてもよい。ここでは、第３の縮約回路５１３の加算器による演算結果ｒｃ１０３（ａ＋ｂ＋ｃ＋ｄ）が、シフタ、丸め器及び／又は飽和器によってシフト、丸め（端数処理）及び／又は飽和された場合の演算結果も演算結果ｒｃ１０３（ａ＋ｂ＋ｃ＋ｄ）として記載する。第３の縮約回路５１３は、演算結果ｒｃ１０３（ａ＋ｂ＋ｃ＋ｄ）をメモリ５１５に出力する。演算結果ｒｃ１０３（ａ＋ｂ＋ｃ＋ｄ）は、メモリ５１５に記憶され、保持される。
【００８６】
同様に、各演算ユニット１０３ｂ〜１０３ｄにおいても、各演算ユニットにおける演算結果と、他の演算ユニットから送信された演算結果とが、各演算ユニットの第３の縮約回路において縮約されて、第３の縮約回路からメモリに送信され、該メモリに記憶され、保持される。即ち、各演算ユニット１０３ａ〜１０３ｄのメモリには、各演算ユニット１０３ａ〜１０３ｄの演算結果が全て加算された演算結果ｒｃ１０３（ａ＋ｂ＋ｃ＋ｄ）が記憶され、保持される。
【００８７】
以上に述べたように、本発明の一実施形態に係る演算処理装置１００では、他の演算ユニットにおける演算結果を取得し、取得した演算結果と、他の演算ユニットにおける演算結果を取得した側の演算ユニットの演算結果とを縮約して、縮約された演算結果をメモリに書き込み、保持することができる。
【００８８】
尚、図９では、演算ユニット１０３ａが、他の演算ユニット１０３ｂ〜１０３ｄの演算結果を取得して演算ユニット１０３ａ〜１０３ｄの演算結果を縮約して、縮約された演算結果をメモリに書き込む例を説明したが、演算ユニット１０３ａは、他の演算ユニット１０３ｂ〜１０３ｄのうち、任意演算ユニットの演算結果を取得し、取得した演算結果と演算ユニット１０３ａの演算結果と縮約して、縮約された演算結果を対応するメモリに書き込み、保持することができる。
【００８９】
図１１は、メモリに記憶されたデータ（演算結果）を読み出す構成を示すブロック図である。図１１において、各演算部２０３−０〜２０３−７及び第２の縮約回路４０１の内部構成は省略して示している。また、図１１において、演算ユニット１０３ｂ〜１０３ｄの内部構成は、演算ユニット１０３ａと同じであるため省略している。
【００９０】
演算ユニット１０３ａにおいて、各演算部２０３−０〜２０３−７から共有メモリ部４０３にメモリ５１５に記憶されたデータの読み出し指示がある場合、第１の調停回路５０９がメモリ５１５からデータを取得する。第１に調停回路５０９は取得したデータを優先度に基づいて、各演算部２０３−０〜２０３−７に順次送信する。当該優先度は、固定されていてもよく、可変であってもよい。各演算部２０３−０〜２０３−７において、送信されたデータは、各演算部２０３−０〜２０３−７のメモリに保存される。
【００９１】
また、演算ユニット１０３ａにおいて、各演算部２０３−０〜２０３−７から共有メモリ部４０３にメモリ５１５に記憶されたデータのＤＭＡ転送指示がある場合、第１の調停回路５０９は、メモリ５１５と各演算部２０３−０〜２０３−７間のＤＭＡ転送を制御してもよい。
【００９２】
各演算ユニット１０３ｂ〜１０３ｄにおいて、メモリに記憶されたデータを読み出す場合、上述した演算ユニット１０３ａにおけるメモリ５１５のデータの読み出しと同様にデータの読み出しが行われる。
【００９３】
尚、図１１では、メモリ５１５に記憶されたデータが、演算ユニット１０３ａの全演算部２０３−０〜２０３−７に送信される構成を示しているが、メモリ５１５に記憶されたデータは、演算ユニット１０３ａの任意の演算部に送信されてもよい。
【００９４】
以上に述べたように、本発明の一実施形態に係る演算処理装置１００では、メモリに保持されたデータを読み出し、該メモリに対応する演算ユニットにおける演算部が該メモリに保持されたデータを取得することができる。
【００９５】
なお、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００９６】
１００：演算処理装置、１０１：ＣＰＵ、１０３（１０３ａ〜１０３ｄ）：演算ユニット、２０１、ＣＰＵインターフェース、２０３，３０１：演算部、２０５，４０３：共有メモリ部、３０３：第１の縮約回路、４０１：第２の縮約回路、５０９：第１の調停回路、５１１：第２の調停回路、５１３：第３の縮約回路、５１５：メモリ
【図１】
2018092325.tif 000003
【図２】
2018092325.tif 000004
【図３】
2018092325.tif 000005
【図４】
2018092325.tif 000006
【図５】
2018092325.tif 000007
【図６】
2018092325.tif 000008
【図７】
2018092325.tif 000009
【図８】
2018092325.tif 000010
【図９】
2018092325.tif 000011
【図１０】
2018092325.tif 000012
【図１１】
2018092325.tif 000013