(57)【要約】【課題】降順シフトだけでなく昇順シフトもできる演算処理装置を提供する。【解決手段】本発明の一実施形態に係る演算処理装置は、複数の降順シフト用レジスタ及び昇順シフト用レジスタをそれぞれ有する複数の算術論理演算器（ＡＬＵ）を備え、シフトの指示に応じて、前記複数の降順シフト用レジスタのうち初段のＡＬＵの降順シフト用レジスタ以外の前記降順シフト用レジスタが保持するデータを前段の前記ＡＬＵの同じ番号の降順シフト用レジスタに送り、初段の前記ＡＬＵの前記降順シフト用レジスタが保持するデータを最終段の前記ＡＬＵの１つ下の番号の前記降順シフト用レジスタに送り、前記初段のＡＬＵの降順シフト用レジスタの最も小さい番号の降順シフト用レジスタが保持するデータを前記初段のＡＬＵの前記昇順シフト用レジスタに送り、最終段の前記ＡＬＵの昇順シフト用レジスタ以外の前記昇順シフト用レジスタが保持するデータを後段の昇順シフト用レジスタに送る。【選択図】図２
2018067029.tif 000002
【特許請求の範囲】
【請求項１】
複数の降順シフト用レジスタ及び昇順シフト用レジスタをそれぞれ有する複数の算術論理演算器（ＡＬＵ）を備え、
シフトの指示に応じて、
前記複数の降順シフト用レジスタのうち初段のＡＬＵの降順シフト用レジスタ以外の前記降順シフト用レジスタが保持するデータを前段の前記ＡＬＵの同じ番号の降順シフト用レジスタに送り、
初段の前記ＡＬＵの前記降順シフト用レジスタが保持するデータを最終段の前記ＡＬＵの１つ下の番号の前記降順シフト用レジスタに送り、
前記初段のＡＬＵの降順シフト用レジスタの最も小さい番号の降順シフト用レジスタが保持するデータを前記初段のＡＬＵの前記昇順シフト用レジスタに送り、
最終段の前記ＡＬＵの昇順シフト用レジスタ以外の前記昇順シフト用レジスタが保持するデータを後段の昇順シフト用レジスタに送る、演算処理装置。
【請求項２】
前記初段のＡＬＵは、最終段の前記ＡＬＵの前記降順シフト用レジスタのうち最も大きい番号の降順シフト用レジスタに０を送るためにグラウンドに接続することを特徴とする請求項１に記載の演算処理装置。
【請求項３】
前記複数のＡＬＵは、それぞれ、前記複数の降順シフト用レジスタからいずれか一つの降順シフト用レジスタを選択する選択回路をさらに有し、
前記複数のＡＬＵの選択回路は、それぞれ同じ番号の降順シフト用レジスタを選択し、
前記シフトの指示は、降順シフトの指示及び昇順シフトの指示を含み、
前記降順シフトの指示に応じて、前記降順シフト用レジスタが保持するデータがシフトし、
前記昇順シフトの指示に応じて、前記昇順シフト用レジスタが保持するデータがシフトすることを特徴とする請求項１又は請求項２に記載の演算処理装置。
【請求項４】
前記複数のＡＬＵは、それぞれさらに共用通信用レジスタを有し、
ブロードキャストの指示に応じて、前記複数のＡＬＵのいずれか１つが有する前記共用通信用レジスタが保持するデータを、前記ＡＬＵの前記共用通信用レジスタに送ることを特徴とする請求項１から請求項３のいずれか一に記載の演算処理装置。
【請求項５】
前記複数のＡＬＵは、分割の指示に応じて複数のグループに分割され、
前記複数のグループの各々は複数の前記ＡＬＵを含み、
前記複数のＡＬＵを分割した場合には、分割前の前記初段のＡＬＵ以外のＡＬＵのうち、前記複数のグループの各々の最も前段に位置する前記ＡＬＵは、いずれも前記初段のＡＬＵとしての動作に切り替えられることを特徴とする請求項１から請求項３のいずれか一に記載の演算処理装置。
【請求項６】
前記複数のＡＬＵは、それぞれさらに共用通信用レジスタを有し、
ブロードキャストの指示に応じて、前記複数のグループに分割されているかどうかにかかわらず、前記複数のＡＬＵのいずれか１つが有する前記共有通信用レジスタが保持するデータを、前記ＡＬＵの前記共用通信用レジスタに送ることを特徴とする請求項５に記載の演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算処理装置に関する。
【背景技術】
【０００２】
従来、複数の演算ユニット間に通信経路を設け、降順シフトさせる技術がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２９６４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、演算ユニット数分のレジスタ間でしかループができないといった問題や降順シフトしかできないといった問題があった。
【０００５】
本発明は、上記のような従来技術に伴う課題を解決しようとするものであって、その目的とするところは、降順シフトだけでなく昇順シフトもできる演算処理装置を提供するところにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、複数の降順シフト用レジスタ及び昇順シフト用レジスタをそれぞれ有する複数の算術論理演算器（ＡＬＵ）を備え、シフトの指示に応じて、前記複数の降順シフト用レジスタのうち初段のＡＬＵの降順シフト用レジスタ以外の前記降順シフト用レジスタが保持するデータを前段の前記ＡＬＵの同じ番号の降順シフト用レジスタに送り、初段の前記ＡＬＵの前記降順シフト用レジスタが保持するデータを最終段の前記ＡＬＵの１つ下の番号の前記降順シフト用レジスタに送り、前記初段のＡＬＵの降順シフト用レジスタの最も小さい番号の降順シフト用レジスタが保持するデータを前記初段のＡＬＵの前記昇順シフト用レジスタに送り、最終段の前記ＡＬＵの昇順シフト用レジスタ以外の前記昇順シフト用レジスタが保持するデータを後段の昇順シフト用レジスタに送る、演算処理装置が提供される。
【０００７】
前記初段のＡＬＵは、最終段の前記ＡＬＵの前記降順シフト用レジスタのうち最も大きい番号の降順シフト用レジスタに０を送るためにグラウンドに接続してもよい。
【０００８】
前記複数のＡＬＵは、それぞれさらに共用通信用レジスタを有し、ブロードキャストの指示に応じて、前記複数のＡＬＵのいずれか１つが有する前記共用通信用レジスタが保持するデータを、前記ＡＬＵの前記共用通信用レジスタに送ってもよい。
【０００９】
前記複数のＡＬＵは、それぞれ、前記複数の降順シフト用レジスタからいずれか一つの降順シフト用レジスタを選択する選択回路をさらに有し、前記複数のＡＬＵの選択回路は、それぞれ同じ番号の降順シフト用レジスタを選択し、前記シフトの指示は、降順シフトの指示及び昇順シフトの指示を含み、前記降順シフトの指示に応じて、前記降順シフト用レジスタが保持するデータがシフトし、前記昇順シフトの指示に応じて、前記昇順シフト用レジスタが保持するデータがシフトしてもよい。
【００１０】
前記複数のＡＬＵは、分割の指示に応じて複数のグループに分割され、前記複数のグループの各々は複数の前記ＡＬＵを含み、前記複数のＡＬＵを分割した場合には、分割前の前記初段のＡＬＵ以外のＡＬＵのうち、前記複数のグループの各々の最も前段に位置する前記ＡＬＵは、いずれも前記初段のＡＬＵとしての動作に切り替えられてもよい。
【００１１】
前記複数のＡＬＵは、それぞれさらに共用通信用レジスタを有し、ブロードキャストの指示に応じて、前記複数のグループに分割されているかどうかにかかわらず、前記複数のＡＬＵのいずれか１つが有する前記共有通信用レジスタが保持するデータを、前記ＡＬＵの前記共用通信用レジスタに送ってもよい。
【発明の効果】
【００１２】
本発明によれば、降順シフトだけでなく昇順シフトもできる演算処理装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るデジタル信号処理装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係る演算処理装置の構成を示すブロック図である。
【図３】本発明の一実施形態に係る演算処理装置の一例を示すブロック図である。
【図４】本発明の一実施形態に係る演算処理装置のレジスタに格納されるデータを示す図である。
【図５】本発明の他の実施形態に係る演算処理装置の構成を示すブロック図である。
【図６】本発明の他の実施形態に係る演算処理装置の一例を示すブロック図である。
【図７】本発明の他の実施形態に係る演算処理装置のレジスタに格納されるデータを示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。
【００１５】
＜第１実施形態＞
図１は、本発明の一実施形態に係るデジタル信号処理装置の構成を示すブロック図である。デジタル信号処理装置は、演算処理装置１、バス制御ユニット２、メモリ制御ユニット３、プログラム制御ユニット４及びレジスタを備える。メモリ制御ユニット３は、外部のデータメモリ５と通信を行い、プログラム制御ユニット４は、外部の命令メモリ６と通信を行う。
【００１６】
プログラム制御ユニット４は、命令メモリ６から命令をフェッチし、デコードした上で、演算処理装置１に計算指示をする。例えば、演算処理装置１に後述の降順シフト、昇順シフト、分割通信をさせる場合には、プログラム制御ユニット４は、それぞれに対応する指示をする。
【００１７】
メモリ制御ユニット３は、データメモリ５からデータを取り出す。バス制御ユニット２は、バスソースやバスデスティネーションを指定する。演算処理装置１については、後述する。
【００１８】
［演算処理装置の構成］
図２は、本発明の一実施形態に係る演算処理装置の構成を示すブロック図である。
【００１９】
演算処理装置１は、ｎ（複数）個の算術論理演算器（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃ  Ｕｎｉｔ；ＡＬＵ）を備える。ここで、ＡＬＵ＃０を初段のＡＬＵと呼び、ＡＬＵ＃ｎ−１を最終段のＡＬＵと呼ぶ。ｎ個のＡＬＵは、それぞれＲ０からＲｉ−１までのｉ（複数）個の降順シフト用レジスタと昇順シフト用レジスタ（Ｒｉ）を有する。
【００２０】
降順シフトの指示に応じて、ｉ個の降順シフト用レジスタのうちＡＬＵ＃０（初段のＡＬＵ）の降順シフト用レジスタ以外の降順シフト用レジスタが保持するデータを前段のＡＬＵの同じ番号の降順用レジスタに送る。具体的には、ＡＬＵ＃ｎ−１のｉ個の降順用レジスタ（Ｒ０からＲｉ−１）が保持するデータをそれぞれＡＬＵ＃ｎ−２のｉ個の同じ番号の降順用レジスタ（Ｒ０からＲｉ−１）に送る。ＡＬＵ＃ｎ−１のＲｉ−１とＡＬＵ＃ｎ−２のＲｉ−１は、同じ番号の降順用レジスタである。
【００２１】
また、降順シフトの指示に応じて、ＡＬＵ＃０の降順シフト用レジスタが保持するデータをＡＬＵ＃ｎ−１（最終段のＡＬＵ）の１つ下の番号の降順シフト用レジスタに送り、ＡＬＵ＃０の降順シフト用レジスタＲ０（最も小さい番号の降順シフト用レジスタ）が保持するデータをＡＬＵ＃０の昇順シフト用レジスタＲｉに送る。具体的には、ＡＬＵ＃０の降順シフト用レジスタＲ１が保持するデータをＡＬＵ＃ｎ−１の降順シフト用レジスタＲ０に送り、ＡＬＵ＃０の降順シフト用レジスタＲｉ−１が保持するデータをＡＬＵ＃ｎ−１の降順シフト用レジスタＲｉ−２に送る。なお、ＡＬＵ＃ｎ−１の降順シフト用レジスタＲｉ−１（最も大きい番号の降順シフト用レジスタ）には、０が送られる。そのために、ＡＬＵ＃０の「０」と表示されている箇所は、グラウンドに接続されている。このように、全ＡＬＵの降順シフト用レジスタ間でループする通信を「一括通信」と呼ぶ。
【００２２】
ｎ個のＡＬＵは、それぞれ、昇順シフト用レジスタＲｉを有する。そして、昇順シフトの指示に応じて、最終段のＡＬＵの昇順シフト用レジスタ以外の昇順シフト用レジスタが保持するデータを後段の昇順シフト用レジスタに送る。具体的には、ＡＬＵ＃０の昇順シフト用レジスタＲｉが保持するデータをＡＬＵ＃１の昇順シフト用レジスタＲｉに送る。同様に、ＡＬＵ＃ｎ−２の昇順シフト用レジスタＲｉが保持するデータをＡＬＵ＃ｎ−１の昇順シフト用レジスタＲｉに送る。ＡＬＵ＃ｎ−１の昇順シフト用レジスタＲｉが保持するデータは、破棄される。
【００２３】
ｎ個のＡＬＵは、それぞれ、ｉ個の降順シフト用レジスタからいずれか一つの降順シフト用レジスタを選択するＭＵＸ（Ｍｕｌｔｉｐｌｅｘｅｒ；選択回路）を有する。ＭＵＸは、それぞれ同じ番号の降順シフト用レジスタを選択する。このように選択回路を設けることによって、配線を減らすことができるという効果を奏する。
【００２４】
ｎ個のＡＬＵは、それぞれさらに共用通信用レジスタＲｉ＋１を有する。ブロードキャストの指示に応じて、ｎ個のＡＬＵのいずれか１つが有する共用通信用レジスタが保持するデータを、ＡＬＵの共用通信用レジスタに送る。この例では、ＡＬＵ＃０が有する共用通信用レジスタＲｉ＋１が保持するデータを、すべてのＡＬＵの共用通信用レジスタに送る。
【００２５】
このように共用通信用レジスタを設けることによって、ブロードキャストを１命令ステップで行うことができる。他方、特許文献１に開示された従来技術では、共用通信用レジスタがないため、ブロードキャストにＮ−１命令ステップを要する。したがって、本実施形態では、高速にブロードキャストを行うことができる。
【００２６】
以上で演算処理装置１の説明をしたが、演算処理装置１の最小構成は、ｉ（複数）個の降順シフト用レジスタと昇順シフト用レジスタ（Ｒｉ）をそれぞれ有するｎ個のＡＬＵである。共用通信用レジスタＲｉ＋１やＭＵＸ（選択回路）は、上記最小構成に適宜に追加することが可能である。なお、選択回路がない場合には、降順シフトの指示と昇順シフトの指示とを区別する必要がなく共通の指示（シフトの指示）で足りる。
【００２７】
本実施形態では、各ＡＬＵにｉ（複数）個の降順シフト用レジスタを設けている。そのため、各ＡＬＵに１個の降順シフト用レジスタしかない従来技術がＡＬＵ数分の降順シフト用レジスタ間でしかループができないのに対し、本実施形態では、ＡＬＵ数以上の降順シフト用レジスタ間でループができる。そのため、ＡＬＵ間で高速にデータを交換することができるという効果を奏する。
【００２８】
また、本実施形態では、各ＡＬＵに昇順シフト用レジスタを設けている。そのため、本実施形態では、昇順シフトも行うことができる。
【００２９】
［一括通信の例］
次に、図３及び図４を用いて、演算処理装置１の一括通信の具体例を説明する。図３は、本発明の一実施形態に係る演算処理装置の一例を示すブロック図である。図４は、本発明の一実施形態に係る演算処理装置のレジスタに格納されるデータを示す図である。図３及び図４の例は、ｎ＝４、ｉ＝４の場合である。
【００３０】
各ＡＬＵ（ＡＬＵ＃０からＡＬＵ＃３）の各レジスタ（Ｒ０からＲ５）には、初期値として、図４に示す値が格納されている。この状態から、Ｒ０について、降順シフト、Ｒ４について、昇順シフトする。各ＡＬＵのレジスタＲ１、Ｒ２、Ｒ３及びＲ５の値は、初期値のままである。他方、レジスタＲ０の値は、初期値から変わっている。具体的には、ＡＬＵ＃０のレジスタＲ０には、ＡＬＵ＃１のレジスタＲ０の初期値であるｒ０［１］が格納されている。同様に、ＡＬＵ＃１のレジスタＲ０には、ＡＬＵ＃２のレジスタＲ０の初期値であるｒ０［２］が格納され、ＡＬＵ＃２のレジスタＲ０には、ＡＬＵ＃３のレジスタＲ０の初期値であるｒ０［３］が格納されている。なお、ＡＬＵ＃３のレジスタＲ０には、ＡＬＵ＃０のレジスタＲ１の初期値であるｒ１［０］が格納されている。
【００３１】
レジスタＲ４の値も、初期値から変わっている。具体的には、ＡＬＵ＃３のレジスタＲ４には、ＡＬＵ＃２のレジスタＲ４の初期値であるｒ４［２］が格納される。同様に、ＡＬＵ＃２のレジスタＲ４には、ＡＬＵ＃１のレジスタＲ４の初期値であるｒ４［１］が格納され、ＡＬＵ＃１のレジスタＲ４には、ＡＬＵ＃０のレジスタＲ４の初期値であるｒ４［０］が格納される。なお、ＡＬＵ＃０のレジスタＲ４には、ＡＬＵ＃０のレジスタＲ０の初期値であるｒ０［０］が格納される。
【００３２】
この状態から、Ｒ１について降順シフトし、さらにＲ２について降順シフトすると、Ｒ０についての降順シフトと同様のシフトをした結果、図４に示す状態となる。さらに、Ｒ３について降順シフトすると、各ＡＬＵのレジスタＲ３の値が変わる。具体的には、ＡＬＵ＃０のレジスタＲ３には、ＡＬＵ＃１のレジスタＲ３の１つ前の値であるｒ３［１］が格納される。同様に、ＡＬＵ＃１のレジスタＲ３には、ＡＬＵ＃２のレジスタＲ３の１つ前の値であるｒ３［２］が格納され、ＡＬＵ＃２のレジスタＲ３には、ＡＬＵ＃３のレジスタＲ３の１つ前の値であるｒ３［３］が格納される。他方、ＡＬＵ＃３のレジスタＲ３には、０が格納される。
【００３３】
続いて、ブロードキャストの指示があると、４つのＡＬＵのいずれか１つが有する共用通信用レジスタ（Ｒ５）が保持するデータを、ＡＬＵの共用通信用レジスタ（Ｒ５）に送る。具体的には、ＡＬＵ＃０のレジスタＲ５が保持するデータｒ５［０］を、ＡＬＵ（ＡＬＵ＃０からＡＬＵ＃３）の共用通信用レジスタＲ５に送る。以上で一括通信の例について説明した。
【００３４】
＜第２実施形態＞
［演算処理装置の構成］
図５は、本発明の他の実施形態に係る演算処理装置の構成を示すブロック図である。本実施形態に係る演算処理装置１１は、第１実施形態に係る演算処理装置１と構成自体は同じであるが、降順シフト用レジスタ間で通信するＡＬＵ数の単位が異なる。そこで、同じ点についての詳細な説明は省略し、異なる点について詳細な説明をする。
【００３５】
演算処理装置１１は、分割の指示に応じて、複数のグループに分割される。この例では、ＡＬＵ＃０からＡＬＵ＃ｎ／２−１のグループと、ＡＬＵ＃ｎ／２からＡＬＵ＃ｎ−１のグループの２つのグループに分割される。この例では、ＡＬＵ＃０からＡＬＵ＃ｎ／２−１のグループを第１グループと呼び、ＡＬＵ＃ｎ／２からＡＬＵ＃ｎ−１のグループを第２グループと呼ぶ。分割するグループ数は、２に限定されるものではなく、２より上の複数であってもよい。
【００３６】
２つ（複数）のグループの各々は、複数のＡＬＵを含む。この例では、第１グループも第２グループも、それぞれｎ／２個のＡＬＵを含む。もっとも、各グループにおけるＡＬＵの数は互いに異なっていてもよい。例えば、２つのグループがあったとしても、第１グループはｎ／２−１個のＡＬＵを含み、第２グループはｎ／２＋１個のＡＬＵを含むようにしてもよい。
【００３７】
そして、複数のＡＬＵを分割した場合には、ＡＬＵ＃０（分割前の初段のＡＬＵ）以外のＡＬＵのうち、複数のグループの各々の最も前段に位置するＡＬＵは、いずれもＡＬＵ＃０（初段のＡＬＵ）としての動作に切り替えられる。この例のように２つのグループに分割されている場合には、ＡＬＵ＃０以外のＡＬＵのうち、複数のグループの各々の最も前段に位置するＡＬＵは、ＡＬＵ＃ｎ／２である。そのため、ＡＬＵ＃ｎ／２は、ＡＬＵ＃０としての動作に切り替えられる。具体的には、降順シフトの指示に応じて、ＡＬＵ＃ｎ／２の降順シフト用レジスタＲ１が保持するデータをＡＬＵ＃ｎ−１の降順シフト用レジスタＲ０に送り、ＡＬＵ＃ｎ／２の降順シフト用レジスタＲｉ−１が保持するデータをＡＬＵ＃ｎ−１の降順シフト用レジスタＲｉ−２に送る。なお、ＡＬＵ＃ｎ−１の降順シフト用レジスタＲｉ−１（最も大きい番号の降順シフト用レジスタ）には、０が送られる。そのために、ＡＬＵ＃ｎ／２の「０」と表示されている箇所は、グラウンドに接続されている。このように、複数のグループに分割し、各グループ内の各ＡＬＵの降順シフト用レジスタ間でループする通信を「分割通信」と呼ぶ。
【００３８】
ｎ（複数）個のＡＬＵは、それぞれ共用通信用レジスタ（Ｒｉ＋１）を有する。そして、ブロードキャストの指示に応じて、２つ（複数）のグループに分割されているかどうかにかかわらず、ｎ個のＡＬＵのいずれか１つが有する共用通信用レジスタ（Ｒｉ＋１）が保持するデータをＡＬＵの共用通信用レジスタ（Ｒｉ＋１）に送る。この例では、ＡＬＵ＃０の共用通信用レジスタ（Ｒｉ＋１）が保持するデータをＡＬＵの共用通信用レジスタ（Ｒｉ＋１）に送っている。もっとも、データを送る共用通信用レジスタは、ＡＬＵ＃０でなくてもよく、任意の番号のＡＬＵの共用通信用レジスタであってもよい。
【００３９】
以上で演算処理装置１１の説明をしたが、演算処理装置１１の最小構成は、ｉ（複数）個の降順シフト用レジスタと昇順シフト用レジスタ（Ｒｉ）をそれぞれ有するｎ個のＡＬＵである。共用通信用レジスタＲｉ＋１やＭＵＸ（選択回路）は、上記最小構成に適宜に追加することが可能である。
【００４０】
本実施形態でも、第１実施形態と同様の効果を奏する。また、本実施形態では、従来技術では一括通信しかできなかったのに対し、分割通信をすることが可能になる。分割通信をすることによって、ループをより高速にすることができるという効果を奏する。
【００４１】
［分割通信の例］
次に、図６及び図７を用いて、演算処理装置１の一括通信の具体例を説明する。図６は、本発明の他の実施形態に係る演算処理装置の一例を示すブロック図である。図７は、本発明の他の実施形態に係る演算処理装置のレジスタに格納されるデータを示す図である。図６及び図７の例は、ｎ＝４、ｉ＝４の場合である。
【００４２】
各ＡＬＵ（ＡＬＵ＃０からＡＬＵ＃３）の各レジスタ（Ｒ０からＲ５）には、初期値として、図７に示す値が格納されている。この状態から、Ｒ０について、降順シフト、Ｒ４について、昇順シフトする。各ＡＬＵのレジスタＲ１、Ｒ２、Ｒ３及びＲ５の値は、初期値のままである。他方、レジスタＲ０の値は、初期値から変わっている。具体的には、ＡＬＵ＃０のレジスタＲ０には、ＡＬＵ＃１のレジスタＲ０の初期値であるｒ０［１］が格納される。他方、ＡＬＵ＃１のレジスタＲ０には、ＡＬＵ＃０のレジスタＲ１の初期値であるｒ１［０］が格納される。また、ＡＬＵ＃２のレジスタＲ０には、ＡＬＵ＃３のレジスタＲ０の初期値であるｒ０［３］が格納される。ＡＬＵ＃３のレジスタＲ０には、ＡＬＵ＃２のレジスタＲ１の初期値であるｒ１［２］が格納される。
【００４３】
レジスタＲ４の値も、初期値から変わっている。具体的には、ＡＬＵ＃３のレジスタＲ４には、ＡＬＵ＃２のレジスタＲ４の初期値であるｒ４［２］が格納される。他方、ＡＬＵ＃２のレジスタＲ４には、ＡＬＵ＃２のレジスタＲ０の初期値であるｒ０［２］が格納される。また、ＡＬＵ＃１のレジスタＲ４には、ＡＬＵ＃０のレジスタＲ４の初期値であるｒ４［０］が格納される。他方、ＡＬＵ＃０のレジスタＲ４には、ＡＬＵ＃０のレジスタＲ０の初期値であるｒ０［０］が格納される。
【００４４】
この状態から、Ｒ１について降順シフトし、さらにＲ２について降順シフトすると、Ｒ０についての降順シフトと同様のシフトをした結果、図７に示す状態となる。さらに、Ｒ３について降順シフトすると、各ＡＬＵのレジスタＲ３の値が変わる。具体的には、ＡＬＵ＃０のレジスタＲ３には、ＡＬＵ＃１のレジスタＲ３の１つ前の値であるｒ３［１］が格納される。他方、ＡＬＵ＃１のレジスタＲ３には、０が格納される。また、ＡＬＵ＃２のレジスタＲ３には、ＡＬＵ＃３のレジスタＲ３の１つ前の値であるｒ３［３］が格納される。他方、ＡＬＵ＃３のレジスタＲ３には、０が格納される。
【００４５】
続いて、ブロードキャストの指示があると、４つのＡＬＵのいずれか１つが有する共用通信用レジスタ（Ｒ５）が保持するデータを、ＡＬＵの共用通信用レジスタ（Ｒ５）に送る。具体的には、ＡＬＵ＃０のレジスタＲ５が保持するデータｒ５［０］を、ＡＬＵ（ＡＬＵ＃０からＡＬＵ＃３）の共用通信用レジスタＲ５に送る。以上で分割通信の例について説明した。なお、ブロードキャストについては、一括通信であっても分割通信であっても変わらない。
【００４６】
なお、本発明は上記の実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００４７】
１、１１：演算処理装置  
２：バス制御ユニット  ３：メモリ制御ユニット
４：プログラム制御ユニット  ５：データメモリ  ６：命令メモリ
【図１】
2018067029.tif 000003
【図２】
2018067029.tif 000004
【図３】
2018067029.tif 000005
【図４】
2018067029.tif 000006
【図５】
2018067029.tif 000007
【図６】
2018067029.tif 000008
【図７】
2018067029.tif 000009