JP2008204028A - ベクトルデータ処理装置 - Google Patents
ベクトルデータ処理装置 Download PDFInfo
- Publication number
- JP2008204028A JP2008204028A JP2007037404A JP2007037404A JP2008204028A JP 2008204028 A JP2008204028 A JP 2008204028A JP 2007037404 A JP2007037404 A JP 2007037404A JP 2007037404 A JP2007037404 A JP 2007037404A JP 2008204028 A JP2008204028 A JP 2008204028A
- Authority
- JP
- Japan
- Prior art keywords
- register
- vector
- vector data
- registers
- data
- 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.)
- Granted
Links
Images
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
【解決手段】本発明のベクトルデータ処理装置では、演算結果の若番要素{c1、c2}を、ルーティングのためのクロスバ2に通過させない構成にすることにより、短い時間で結果格納レジスタ(11、5−2)に確定させている。また、若番要素{a1、a2}、{b1、b2})用に少量のマルチポート構成レジスタファイル11を用意し、また大容量{a3〜an}、{b3〜bn}用にはポート数の少ないRAMを用いて組み合わせてベクトルレジスタ5−1、5−2を構成することにより、少ないハードウェア量の増加でベクトルデータ処理装置を構成している。
【選択図】図2
Description
1番目からn番目(nは3以上の整数)までのn個の第1ベクトルデータ({a1、a2、a3、・・・、an})のうちの、1番目からj番目(jは、j<(n−j)を満たす整数)までのj個の第1ベクトルデータ({a1、a2})が格納された第1若番用格納部(アドレス“0”、“1”)と、1番目からn番目までのn個の第2ベクトルデータ({b1、b2、b3、・・・、bn})のうちの、1番目からj番目までのj個の第2ベクトルデータ({b1、b2})が格納された第2若番用格納部(アドレス“2”、“3”)とを有するレジスタファイル(11)と、
前記j個の第1ベクトルデータ({a1、a2})以外の(n−j)個の第1ベクトルデータ({a3、・・・、an})が格納された第1ベクトルレジスタ(5−1)と、
前記j個の第2ベクトルデータ({b1、b2})以外の(n−j)個の第2ベクトルデータ({b3、・・・、bn})が格納された第2ベクトルレジスタ(5−2)と、
前記n個の第1ベクトルデータ({a1、a2、a3、・・・、an})と前記n個の第2ベクトルデータ({b1、b2、b3、・・・、bn})のそれぞれに対して順次に演算を施して、n個の演算結果({c1、c2、c3、・・・、cn})を生成する演算器(8)と、
前記n個の演算結果({c1、c2、c3、・・・、cn})のうちの、1番目からj番目までのj個の演算結果({c1、c2})を順次に前記レジスタファイル(11)に格納する若番用ライトデータレジスタ(10−2)と、
前記j個の演算結果({c1、c2})以外の(n−j)個の演算結果({c3、・・・、cn})を順次に前記第1及び第2ベクトルレジスタ(5−1、5−2)のうちの指定されたベクトルレジスタ(5−2)に格納するクロスバ(2)と
を具備している。
前記レジスタファイル(11)の前記第1若番用格納部(アドレス“0”、“1”)に格納された前記j個の第1ベクトルデータ({a1、a2})を順次に前記演算器(8)に出力し、その後に、前記第1ベクトルレジスタ(5−1)に格納された前記(n−j)個の第1ベクトルデータ({a3、・・・、an})を順次に前記演算器(8)に出力する第1選択回路(12−1)と、
前記レジスタファイル(11)の前記第2若番用格納部(アドレス“2”、“3”)に格納された前記j個の第2ベクトルデータ({b1、b2})を順次に前記演算器(8)に出力し、その後に、前記第2ベクトルレジスタ(5−2)に格納された前記(n−j)個の第2ベクトルデータ({b3、・・・、bn})を順次に前記演算器(8)に出力する第2選択回路(12−2)と
を更に具備している。
前記第1選択回路(12−1)と前記演算器(8)との間に接続された第1演算入力レジスタ(7−1)と、
前記第2選択回路(12−2)と前記演算器(8)との間に接続された第2演算入力レジスタ(7−2)と、
前記演算器(8)と前記クロスバ(2)との間に接続された演算出力レジスタ(9)と
を更に具備している。
前記演算出力レジスタ(9)と前記クロスバ(2)との間に前記第1、第2ベクトルレジスタ(5−1、5−2)に対応して接続された第1、第2クロスバ入力レジスタ(1−1、1−2)と、
前記クロスバ(2)と前記第1、第2ベクトルレジスタ(5−1、5−2)との間に接続された第1、第2クロスバ出力レジスタ(3−1、3−2)と、
前記第1、第2クロスバ出力レジスタ(3−1、3−2)と前記第1、第2ベクトルレジスタ(5−1、5−2)との間に接続された第1、第2ライトデータレジスタ(4−1、4−2)と
を更に具備している。
ライトデータレジスタ10−1、10−2は、レジスタファイル11に接続されている。また、ライトデータレジスタ10−1は、他のリソースに接続されている。レジスタファイル11は、選択回路12−1、12−2に接続されている。
選択回路12−1、12−2は、それぞれ、演算入力レジスタ7−1、7−2に接続されている。演算入力レジスタ7−1、7−2は、演算器8に接続されている。演算器8は、演算出力レジスタ9に接続されている。演算出力レジスタ9は、クロスバ入力レジスタ1−1とライトデータレジスタ10−2に接続されている。
第1若番用格納部は、1番目からn番目(nは3以上の整数)までのn個の第1ベクトルデータA={a1、a2、a3、・・・、an}のうちの、1番目からj番目(jは、j<(n−j)を満たす整数)までのj個の第1ベクトルデータを格納する。
第2若番用格納部は、1番目からn番目までのn個の第2ベクトルデータB{b1、b2、b3、・・・、bn}のうちの、1番目からj番目までのj個の第2ベクトルデータを格納する。
ここで、jを2とし、j個の第1ベクトルデータをベクトルデータ{a1、a2}とし、j個の第2ベクトルデータをベクトルデータ{b1、b2}とする。この場合、第1若番用格納部をレジスタファイル11のアドレス“0”、“1”とし、第2若番用格納部をレジスタファイル11のアドレス“2”、“3”とする。
書き込みに関しては、レジスタファイル11は、少量のベクトルデータ{a1、a2}についてはライトアドレスW1またはライトアドレスW2に応じてライトデータレジスタ10−1またはライトデータレジスタ10−2のレジスタデータを、レジスタファイル11のアドレス“0”と“1”に格納し、少量のベクトルデータ{b1、b2}についてはライトアドレスW1またはライトアドレスW2に応じてライトデータレジスタ10−1またはライトデータレジスタ10−2のレジスタデータを、レジスタファイル11のアドレス“2”と“3”に格納する。ここで、ライトデータレジスタ10−1のベクトルデータはライトアドレスW1により制御され、ライトデータレジスタ10−2のベクトルデータはライトアドレスW2により制御されるものとする。
読み出しに関しては、レジスタファイル11は、リードアドレスR1に応じて、アドレス“0”と“1”に格納されているベクトルデータを順次読み出して選択回路12−1へ供給し、リードアドレスR2に応じて、アドレス“2”と“3”に格納されているベクトルデータを順次読み出して選択回路12−2へ供給する。
書き込みに関しては、ベクトルレジスタ5−1は、(n−2)個のベクトルデータ{a3、a4、・・・、an}をライトアドレスWA1に応じて、ライトデータレジスタ4−1のベクトルデータをアドレス“0”〜“n−2”に順次格納する。
読み出しに関しては、ベクトルレジスタ5−1は、リードアドレスRA1に応じて、そのアドレス“0”〜“n−2”に格納された大量のベクトルデータ{a3、a4、・・・、an}を読み出してリードデータレジスタ6−1へ供給する。
書き込みに関しては、ベクトルレジスタ5−2は、(n−2)個のベクトルデータ{b3、b4、・・・、bn}をライトアドレスWA2に応じて、ライトデータレジスタ4−2のベクトルデータをアドレス“0”〜“n−2”に順次格納する。
読み出しに関しては、ベクトルレジスタ5−2は、リードアドレスRA2に応じて、そのアドレス“0”〜“n−2”に格納された大量のベクトルデータ{b3、b4、・・・、bn}を読み出してリードデータレジスタ6−2へ供給する。
また、本発明では、若番要素(ベクトルデータ{a1、a2}、{b1、b2})用に少量のマルチポート構成レジスタファイル11を用意し、また大容量(ベクトルデータ{a3〜an}、{b3〜bn})用にはポート数の少ないRAMを用いて組み合わせてベクトルレジスタ5−1、5−2を構成することにより、少ないハードウェア量の増加でベクトルデータ処理装置を構成できる。
以下、これについて詳細に説明する。
まず、レジスタファイル11は、その第一リードポートに対応したアドレスレジスタR1にアドレス“0”をセットし、その第二リードポートに対応したアドレスレジスタR2にアドレス“2”をセットする。レジスタファイル11は、それぞれ、リードアドレスR1、R2に応じて、自身のアドレス“0”、“2”に格納されているベクトルデータa1、b1を同時に読み出し、選択回路12−1、12−2に出力する。
選択回路12−1、12−2は、それぞれ、レジスタファイル11の第一、第二リードポート(ベクトルデータa1、b1)を選択し、次のクロックサイクルであるクロックサイクル“2”で、ベクトルデータa1、b1を演算入力レジスタ7−1、7−2に格納する。
演算器8は、この時刻に値が確定している演算入力レジスタ7−1の出力(すなわちベクトルデータa1)を第一オペランドとして入力し、演算入力レジスタ7−2の出力(すなわちベクトルデータb1)を第二オペランドとして入力して演算を開始する。上述のように、本実施例での演算器8は、演算処理を3つのステージに分割して処理するパイプライン構成を取っており、演算結果が演算出力レジスタ9に確定するまで3クロックサイクル必要としている。そのため、演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa1、b1に対して演算を施し、その演算結果c1を、3クロックサイクル後のクロックサイクル“5”で演算出力レジスタ9に格納する。
レジスタファイル11は、その第一リードポートに対応したアドレスレジスタR1にアドレス“1”をセットし、その第二リードポートに対応したアドレスレジスタR2にアドレス“3”をセットする。レジスタファイル11は、それぞれ、リードアドレスR1、R2に応じて、自身のアドレス“1”、“3”に格納されているベクトルデータa2、b2を同時に読み出し、選択回路12−1、12−2に出力する。
選択回路12−1、12−2は、それぞれ、レジスタファイル11の第一、第二リードポート(ベクトルデータa2、b2)を選択し、次のクロックサイクルであるクロックサイクル“3”で、ベクトルデータa2、b2を演算入力レジスタ7−1、7−2に格納する。
更に、ベクトルレジスタ5−1は、そのリードを制御するアドレスレジスタRA1にアドレス“0”をセットし、ベクトルレジスタ5−2は、そのリードを制御するアドレスレジスタRA2にアドレス“0”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“0”に格納されているベクトルデータa3、b3を読み出し、次のクロックサイクルであるクロックサイクル“3”で、それぞれリードデータレジスタ6−1、6−2に出力する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa2、b2に対して演算を施し、その演算結果c2を、3クロックサイクル後のクロックサイクル“6”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa3、b3)を選択し、次のクロックサイクルであるクロックサイクル“4”で、ベクトルデータa3、b3を演算入力レジスタ7−1、7−2に格納する。
ベクトルレジスタ5−1、5−2は、それぞれ、そのリードを制御するアドレスレジスタRA1、RA2にアドレス“1”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“1”に格納されているベクトルデータa4、b4を読み出し、次のクロックサイクルであるクロックサイクル“4”で、リードデータレジスタ6−1、6−2に出力する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa3、b3に対して演算を施し、その演算結果c3を、3クロックサイクル後のクロックサイクル“7”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa4、b4)を選択し、次のクロックサイクルであるクロックサイクル“5”で、ベクトルデータa4、b4を演算入力レジスタ7−1、7−2に格納する。
ベクトルレジスタ5−1、5−2は、それぞれ、そのリードを制御するアドレスレジスタRA1、RA2にアドレス“2”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“2”に格納されているベクトルデータa5、b5を読み出し、次のクロックサイクルであるクロックサイクル“5”で、リードデータレジスタ6−1、6−2に出力する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa4、b4に対して演算を施し、その演算結果c4を、3クロックサイクル後のクロックサイクル“8”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa5、b5)を選択し、次のクロックサイクルであるクロックサイクル“6”で、ベクトルデータa5、b5を演算入力レジスタ7−1、7−2に格納する。
ベクトルレジスタ5−1、5−2は、それぞれ、そのリードを制御するアドレスレジスタRA1、RA2にアドレス“3”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“3”に格納されているベクトルデータa6、b6を読み出し、次のクロックサイクルであるクロックサイクル“6”で、リードデータレジスタ6−1、6−2に出力する。
演算出力レジスタ9は、自身が格納している演算結果c1を、次のクロックサイクルであるクロックサイクル“6”でライトデータレジスタ10−2に格納する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa5、b5に対して演算を施し、その演算結果c5を、3クロックサイクル後のクロックサイクル“9”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa6、b6)を選択し、次のクロックサイクルであるクロックサイクル“7”で、ベクトルデータa6、b6を演算入力レジスタ7−1、7−2に格納する。
ベクトルレジスタ5−1、5−2は、それぞれ、そのリードを制御するアドレスレジスタRA1、RA2にアドレス“4”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“4”に格納されているベクトルデータa7、b7を読み出し、次のクロックサイクルであるクロックサイクル“7”で、リードデータレジスタ6−1、6−2に出力する。
演算出力レジスタ9は、自身が格納している演算結果c2を、次のクロックサイクルであるクロックサイクル“7”でライトデータレジスタ10−2に格納する。
レジスタファイル11は、その書き込みを制御するライトアドレスレジスタW2にアドレス“3”をセットする。レジスタファイル11は、ライトアドレスW2に応じて、ライトデータレジスタ10−2に格納されている演算結果c1を、次のクロックサイクルであるクロックサイクル“7”で自身のアドレス“3”に格納する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa6、b6に対して演算を施し、その演算結果c6を、3クロックサイクル後のクロックサイクル“10”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa7、b7)を選択し、次のクロックサイクルであるクロックサイクル“8”で、ベクトルデータa7、b7を演算入力レジスタ7−1、7−2に格納する。
ベクトルレジスタ5−1、5−2は、それぞれ、そのリードを制御するアドレスレジスタRA1、RA2にアドレス“5”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“5”に格納されているベクトルデータa8、b8を読み出し、次のクロックサイクルであるクロックサイクル“8”で、リードデータレジスタ6−1、6−2に出力する。
演算出力レジスタ9は、自身が格納している演算結果c3を、次のクロックサイクルであるクロックサイクル“8”でクロスバ入力レジスタ1−1に格納する。
レジスタファイル11は、自身の書き込みを制御するライトアドレスレジスタW2にアドレス“4”をセットする。レジスタファイル11は、ライトアドレスW2に応じて、ライトデータレジスタ10−2に格納されている演算結果c2を、次のクロックサイクルであるクロックサイクル“8”で自身のアドレス“4”に格納する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa7、b7に対して演算を施し、その演算結果c7を、3クロックサイクル後のクロックサイクル“11”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa8、b8)を選択し、次のクロックサイクルであるクロックサイクル“9”で、ベクトルデータa8、b8を演算入力レジスタ7−1、7−2に格納する。
ベクトルレジスタ5−1、5−2は、それぞれ、そのリードを制御するアドレスレジスタRA1、RA2にアドレス“6”をセットする。ベクトルレジスタ5−1、5−2は、それぞれ、リードアドレスRA1、RA2に応じて、自身のアドレス“6”に格納されているベクトルデータa9、b9を読み出し、次のクロックサイクルであるクロックサイクル“9”で、リードデータレジスタ6−1、6−2に出力する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c3に対してルーティングし、次のクロックサイクルであるクロックサイクル“9”でクロスバ出力レジスタ3−2に格納する。
演算出力レジスタ9は、自身が格納している演算結果c4を、次のクロックサイクルであるクロックサイクル“9”でクロスバ入力レジスタ1−1に格納する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa8、b8に対して演算を施し、その演算結果c8を、3クロックサイクル後のクロックサイクル“12”で演算出力レジスタ9に格納する。
選択回路12−1、12−2は、それぞれ、リードデータレジスタ6−1、6−2(ベクトルデータa9、b9)を選択し、次のクロックサイクルであるクロックサイクル“10”で、ベクトルデータa9、b9を演算入力レジスタ7−1、7−2に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c3を、次のクロックサイクルであるクロックサイクル“10”でライトデータレジスタ4−2に格納する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c4に対してルーティングし、次のクロックサイクルであるクロックサイクル“10”でクロスバ出力レジスタ3−2に格納する。
演算出力レジスタ9は、自身が格納している演算結果c5を、次のクロックサイクルであるクロックサイクル“10”でクロスバ入力レジスタ1−1に格納する。
演算器8は、それぞれ演算入力レジスタ7−1、7−2に格納されているベクトルデータa9、b9に対して演算を施し、その演算結果c9を、3クロックサイクル後のクロックサイクル“13”で演算出力レジスタ9に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“0”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c1を、次のクロックサイクルであるクロックサイクル“11”で自身のアドレス“0”に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c4を、次のクロックサイクルであるクロックサイクル“11”でライトデータレジスタ4−2に格納する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c5に対してルーティングし、次のクロックサイクルであるクロックサイクル“11”でクロスバ出力レジスタ3−2に格納する。
演算出力レジスタ9は、自身が格納している演算結果c6を、次のクロックサイクルであるクロックサイクル“11”でクロスバ入力レジスタ1−1に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“1”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c2を、次のクロックサイクルであるクロックサイクル“12”で自身のアドレス“1”に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c5を、次のクロックサイクルであるクロックサイクル“12”でライトデータレジスタ4−2に格納する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c6に対してルーティングし、次のクロックサイクルであるクロックサイクル“12”でクロスバ出力レジスタ3−2に格納する。
演算出力レジスタ9は、自身が格納している演算結果c7を、次のクロックサイクルであるクロックサイクル“12”でクロスバ入力レジスタ1−1に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“2”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c3を、次のクロックサイクルであるクロックサイクル“13”で自身のアドレス“2”に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c6を、次のクロックサイクルであるクロックサイクル“13”でライトデータレジスタ4−2に格納する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c7に対してルーティングし、次のクロックサイクルであるクロックサイクル“13”でクロスバ出力レジスタ3−2に格納する。
演算出力レジスタ9は、自身が格納している演算結果c8を、次のクロックサイクルであるクロックサイクル“13”でクロスバ入力レジスタ1−1に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“3”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c4を、次のクロックサイクルであるクロックサイクル“14”で自身のアドレス“3”に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c7を、次のクロックサイクルであるクロックサイクル“14”でライトデータレジスタ4−2に格納する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c8に対してルーティングし、次のクロックサイクルであるクロックサイクル“14”でクロスバ出力レジスタ3−2に格納する。
演算出力レジスタ9は、自身が格納している演算結果c9を、次のクロックサイクルであるクロックサイクル“14”でクロスバ入力レジスタ1−1に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“4”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c5を、次のクロックサイクルであるクロックサイクル“15”で自身のアドレス“4”に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c8を、次のクロックサイクルであるクロックサイクル“15”でライトデータレジスタ4−2に格納する。
クロスバ2は、クロスバ入力レジスタ1−1に格納されている演算結果c9に対してルーティングし、次のクロックサイクルであるクロックサイクル“15”でクロスバ出力レジスタ3−2に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“5”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c6を、次のクロックサイクルであるクロックサイクル“16”で自身のアドレス“5”に格納する。
クロスバ出力レジスタ3−2は、自身が格納している演算結果c9を、次のクロックサイクルであるクロックサイクル“16”でライトデータレジスタ4−2に格納する。
ベクトルレジスタ5−2は、その書き込みを制御するアドレスレジスタWA2にアドレス“6”をセットする。ベクトルレジスタ5−2は、ライトアドレスWA2に応じて、ライトデータレジスタ4−2に格納されている演算結果c7を、次のクロックサイクルであるクロックサイクル“17”で自身のアドレス“6”に格納する。
2 クロスバ、
3−1、3−2 クロスバ出力レジスタ、
4−1、4−2 ライトデータレジスタ、
5−1、5−2 ベクトルレジスタ、
6−1、6−2 リードデータレジスタ、
7−1、7−2 演算入力レジスタ、
8 演算器、
9 演算出力レジスタ、
10−1、10−2 ライトデータレジスタ(若番用ライトデータレジスタ)、
11 レジスタファイル、
12−1、12−2 選択回路、
RA1、RA2 リードアドレス、
WA1、WA2 ライトアドレス、
R1、R2 リードアドレス、
W1、W2 ライトアドレス、
101−1、101−2 クロスバ入力レジスタ、
102 クロスバ、
103−1、103−2 クロスバ出力レジスタ、
104−1、104−2 ライトデータレジスタ、
105−1、105−2 ベクトルレジスタ、
106−1、106−2 リードデータレジスタ、
107−1、107−2 演算入力レジスタ、
108 演算器、
109 演算出力レジスタ、
Claims (4)
- 1番目からn番目(nは3以上の整数)までのn個の第1ベクトルデータのうちの、1番目からj番目(jは、j<(n−j)を満たす整数)までのj個の第1ベクトルデータが格納された第1若番用格納部と、1番目からn番目までのn個の第2ベクトルデータのうちの、1番目からj番目までのj個の第2ベクトルデータが格納された第2若番用格納部とを有するレジスタファイルと、
前記j個の第1ベクトルデータ以外の(n−j)個の第1ベクトルデータが格納された第1ベクトルレジスタと、
前記j個の第2ベクトルデータ以外の(n−j)個の第2ベクトルデータが格納された第2ベクトルレジスタと、
前記n個の第1ベクトルデータと前記n個の第2ベクトルデータのそれぞれに対して順次に演算を施して、n個の演算結果を生成する演算器と、
前記n個の演算結果のうちの、1番目からj番目までのj個の演算結果を順次に前記レジスタファイルに格納する若番用ライトデータレジスタと、
前記j個の演算結果以外の(n−j)個の演算結果を順次に前記第1及び第2ベクトルレジスタのうちの指定されたベクトルレジスタに格納するクロスバと
を具備するベクトルデータ処理装置。 - 請求項1に記載のベクトルデータ処理装置において、
前記レジスタファイルの前記第1若番用格納部に格納された前記j個の第1ベクトルデータを順次に前記演算器に出力し、その後に、前記第1ベクトルレジスタに格納された前記(n−j)個の第1ベクトルデータを順次に前記演算器に出力する第1選択回路と、
前記レジスタファイルの前記第2若番用格納部に格納された前記j個の第2ベクトルデータを順次に前記演算器に出力し、その後に、前記第2ベクトルレジスタに格納された前記(n−j)個の第2ベクトルデータを順次に前記演算器に出力する第2選択回路と
を更に具備するベクトルデータ処理装置。 - 請求項2に記載のベクトルデータ処理装置において、
前記第1選択回路と前記演算器との間に接続された第1演算入力レジスタと、
前記第2選択回路と前記演算器との間に接続された第2演算入力レジスタと、
前記演算器と前記クロスバとの間に接続された演算出力レジスタと
を更に具備するベクトルデータ処理装置。 - 請求項3に記載のベクトルデータ処理装置において、
前記演算出力レジスタと前記クロスバとの間に前記第1、第2ベクトルレジスタに対応して接続された第1、第2クロスバ入力レジスタと、
前記クロスバと前記第1、第2ベクトルレジスタとの間に接続された第1、第2クロスバ出力レジスタと、
前記第1、第2クロスバ出力レジスタと前記第1、第2ベクトルレジスタとの間に接続された第1、第2ライトデータレジスタと
を更に具備するベクトルデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007037404A JP4347352B2 (ja) | 2007-02-19 | 2007-02-19 | ベクトルデータ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007037404A JP4347352B2 (ja) | 2007-02-19 | 2007-02-19 | ベクトルデータ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008204028A true JP2008204028A (ja) | 2008-09-04 |
JP4347352B2 JP4347352B2 (ja) | 2009-10-21 |
Family
ID=39781498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007037404A Active JP4347352B2 (ja) | 2007-02-19 | 2007-02-19 | ベクトルデータ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4347352B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117856A1 (ja) | 2005-04-27 | 2006-11-09 | Bando Kiko Co., Ltd. | 往復動エンジン |
-
2007
- 2007-02-19 JP JP2007037404A patent/JP4347352B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP4347352B2 (ja) | 2009-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135581B (zh) | 用于执行人工神经网络反向运算的装置和方法 | |
US8595280B2 (en) | Apparatus and method for performing multiply-accumulate operations | |
US6269440B1 (en) | Accelerating vector processing using plural sequencers to process multiple loop iterations simultaneously | |
JP2002333978A (ja) | Vliw型プロセッサ | |
US20140047218A1 (en) | Multi-stage register renaming using dependency removal | |
EP2352082B1 (en) | Data processing device for performing a plurality of calculation processes in parallel | |
EP2132645B1 (en) | A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled | |
EP3475808B1 (en) | Method and apparatus for performing simd gather and copy operations | |
WO2014202825A1 (en) | Microprocessor apparatus | |
JPH0581119A (ja) | レジスタ間接モードを用いる汎用メモリ・アクセス方式 | |
CN112074810B (zh) | 并行处理设备 | |
JP4347352B2 (ja) | ベクトルデータ処理装置 | |
JP2004503872A (ja) | 共同利用コンピュータシステム | |
JP6432348B2 (ja) | 演算装置及び演算方法 | |
JP2008102599A (ja) | プロセッサ | |
US20230071941A1 (en) | Parallel processing device | |
JP6307975B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
WO2022063269A1 (en) | Method and apparatus for configurable hardware accelerator | |
US11036510B2 (en) | Processing merging predicated instruction with timing permitting previous value of destination register to be unavailable when the merging predicated instruction is at a given pipeline stage at which a processing result is determined | |
US20140281368A1 (en) | Cycle sliced vectors and slot execution on a shared datapath | |
JP3461887B2 (ja) | 可変長パイプライン制御装置 | |
CN113703841A (zh) | 一种寄存器数据读取的优化方法、装置及介质 | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JP2861234B2 (ja) | 命令処理装置 | |
JP2003345589A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080815 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090417 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090715 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4347352 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120724 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130724 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |