JPH08305685A - ベクトルデータ処理装置 - Google Patents
ベクトルデータ処理装置Info
- Publication number
- JPH08305685A JPH08305685A JP11323495A JP11323495A JPH08305685A JP H08305685 A JPH08305685 A JP H08305685A JP 11323495 A JP11323495 A JP 11323495A JP 11323495 A JP11323495 A JP 11323495A JP H08305685 A JPH08305685 A JP H08305685A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- vector
- vector register
- bus
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
ア量で、構成のリピータビリティを向上させる。 【構成】パイプライン制御部16は、主メモリ26のデ
ータをデータ整列部24を介してベクトルレジスタ部2
0に転送するロード制御およびベクトルレジスタ部20
のデータをデータ整列部24を介して主メモリ26に転
送するストア制御を行う。ベクトルレジスタ部20およ
び演算部22は、それぞれ4個のベクトルレジスタユニ
ットおよび演算ユニットで構成される。データ整列部2
4は、それぞれロード用およびストア用の第1および第
2のデータ整列処理部を有する。各データ整列処理部
は、8バイトのバスが、1バイトずつにスライスされ、
連動して接続バスを切換えてデータの並べ替えを行う8
つのデータ整列処理ユニットで構成される。ベクトルレ
ジスタユニットは、4つにスライスされ、各々4バイト
毎の2バイトずつを処理するベクトルレジスタサブユニ
ットで構成される。
Description
置に係り、特に、浮動小数点倍精度データ、浮動小数点
単精度データおよび固定小数点データのような複数のデ
ータ形式を有するベクトルデータを処理するベクトルデ
ータ処理装置におけるアクセス系の構成の改良に関す
る。
タ処理装置においては、ベクトル演算を行うために、主
記憶装置にある多量のベクトルデータのうちの演算に使
用される一部のデータを、高速にアクセスすることの可
能なベクトルレジスタ等に予め転送しておき、このベク
トルレジスタのデータを順次高速にアクセスして、パイ
プライン演算器にて高速演算を行う。
られる演算結果は、必要に応じて主記憶装置に転送され
る。上述のように、ベクトルレジスタを主記憶装置とパ
イプライン演算器との間に位置させることにより、パイ
プライン演算器はベクトルレジスタとの間でデータのや
りとりをすればよく、また主記憶装置はベクトルレジス
タとの間でデータのやりとりをすればよいことになる。
このため、主記憶装置はパイプライン演算器を意識する
ことなく、またパイプライン演算器は主メモリを意識す
ることなく動作することが可能になる。したがって、こ
のような構成により、制御を容易にし、且つ高速処理を
実現することができる。
特開昭57−111667号公報に示されるように構成
されている。図10に示すように、ベクトルデータ処理
装置は、主メモリ1、データ整列処理部2およびベクト
ルレジスタ部3を備えている。主メモリ1は、MM−A
〜MM−Dの4つの主メモリユニット1aから構成され
る。データ整列処理部2は、入力レジスタIR−0〜I
R−3および出力レジスタOR−0〜OR−3を有す
る。ベクトルレジスタ部3は、VR−0〜VR−3の4
つのベクトルレジスタユニット3aを有する。
モリ1上に存在する場合、そのアドレスについては、連
続するアドレスに位置することもあれば、ある一定の間
隔をもったアドレスに分散して位置することもあれば、
不規則なアドレスに位置することもあるなど、様々な形
態で存在する。また、ベクトルデータの演算を行うベク
トル演算器(図10には示していない)では、ベクトル
レジスタ部3からエレメント順に順次ベクトルデータを
読み出して演算の実行が行われるため、ベクトルレジス
タ部3内にはベクトルデータがエレメント順に格納され
ていなければならない。
トルデータを、ベクトルレジスタ部3の各ベクトルレジ
スタユニット3aにロードする場合には、ベクトルデー
タの各エレメントに対応する主メモリ1の読出しアドレ
スをもとにデータを転送する。そのため、主メモリ1か
らのデータの読み出しに際しては、各エレメントの主メ
モリ1上のアドレス情報によって、入力データバスBI
−0〜BI−3のうちのいずれのデータバスを介して読
み出されるかが決定され、各ベクトルレジスタユニット
3aへ書き込むための出力データバスBO−0〜BO−
3は、ベクトルレジスタユニット3aがエレメント順に
構成されているため、各エレメントのエレメント番号に
よって決定される。したがって、データ整列処理部2
は、入力レジスタIR−0〜IR−3と出力レジスタO
R−0〜OR−3との間にマトリックス状に複数のバス
が設けられる必要がある。これがベクトルデータのロー
ドにおけるデータ整列処理部2の機能構成である。
時には、入力バスBI−0〜BI−3の全てが、全ての
出力バスBO−0〜BO−3と接続される。すなわち、
ベクトルデータの各エレメントが、MM−A〜MM−D
の主メモリユニット1aのいずれにあってもアクセスす
ることが可能となる。
の演算、単精度浮動小数点データの演算および固定小数
点データの演算等が行われるため、各演算のモードによ
って取り扱うデータの大きさ(データ長すなわちデータ
幅)が変わり、またベクトルレジスタ部3に格納される
データも演算器で扱われるデータと同じ形式となる。
小数点データ、単精度浮動小数点データおよび固定小数
点データ等があり、例えば、倍精度の浮動小数点データ
は図11(a)に示すように8バイトのデータ、単精度の
浮動小数点データは図11(b)に示すように8バイトの
うちの上位4バイトを用いたデータ、そして固定小数点
データは図11(c)に示すように8バイトのうちの下位
4バイトを用いたデータである。
では、倍精度浮動小数点データは8バイトのデータ、単
精度浮動小数点データおよび固定小数点データは4バイ
トのデータとしてそれぞれ格納されている。したがっ
て、データをロードする際に、データ整列回路2におい
ては、例えば、倍精度小数点データである8バイト(6
4ビット)データとして処理する場合、単精度浮動小数
点データである4バイト(32ビット)データを8バイ
ト中の上位4バイトデータとして処理する場合、および
固定小数点データである4バイトデータを8バイト中の
下位4バイトデータとして処理する場合とがある。もち
ろん、上述した8バイト中の上位4バイトデータとして
処理する場合には、その下位4バイトには図示していな
い“0”発生部より“0”詰め、すなわち“0”フィリ
ングが行われ、8バイト中の下位4バイトデータとして
処理する場合には、同様に、その上位4バイトに“0”
フィリングが行われる。
イトのデータおよび下位4バイトのデータを処理するた
め、8バイトデータとして転送処理する場合には、デー
タ整列処理部2の各8バイトのバスの張り方は図12に
示すようになるが、上位4バイトデータおよび下位4バ
イトデータとしてデータ転送する場合には、図13のよ
うに各4バイトのバスを設ける必要がある。もちろん、
この図13のように4バイトのバスを設ける場合には、
図12に示したような8バイト単位での転送も可能とな
るので、図13には、実質的に図12のバスも含まれる
ことになる。
14に示すように、演算結果のデータを各ベクトルレジ
スタユニット3aに一旦書込んでおき、これらベクトル
レジスタユニット3aに書込まれた演算結果のデータを
主メモリ1に格納することも行われる。このようなベク
トルデータのストアの場合も、ベクトルレジスタユニッ
ト3aからのデータの各エレメントは、主メモリ1への
書込みアドレスをもとにしてデータを転送する。そのた
め、主メモリユニット1aへの書込みのための出力デー
タバスBO′−0〜BO′−3については、主メモリ1
の書込みアドレスによってデータバス位置が決まり、ま
た各ベクトルレジスタユニット3からデータ整列処理回
路2′への入力バスBI′−0〜BI′−3の制御順序
はデータエレメントのエレメント番号によって設定され
ることになる。
入力バスBI′−0〜BI′−3は、すべての書込みバ
スBO′−0〜BO′−3と接続されるデータ整列処理
回路2′を必要とする。ストア時に、各ベクトルレジス
タユニット3aから出力されてデータ整列処理回路2′
に入力されるデータが、8バイトデータである場合に
は、図15に示すような8バイトバスが必要となり、上
位4バイトデータおよび下位4バイトデータとしてデー
タ転送する場合には、図16のように4バイトバスを設
ける必要がある。
ける場合には、図15のような8バイト転送を行うこと
も可能であるので、図16には実質的に図15の場合も
含まれることになる。
のロードおよびストアにおけるデータ整列処理回路は、
図13および図16に示すように、それぞれ64本もの
4バイトのバスを必要とする。
報では、ロードおよびストアにおける前記データ整列処
理回路のバスの構成を図17、図18および図19のよ
うに4バイトのバスを共有するように構成して、バス数
を削減することが示されている。
造コストを低減することが要求されており、特開昭57
−111667号公報に示された技術では、上位4バイ
トおよび下位4バイトを含むように構成する必要があ
り、これは機能分割上の制限になる。
になされたもので、データ整列の自由度を増し、より少
ないハードウェア量で、転送速度を落とすことなく、構
成の繰り返し性、すなわちリピータビリティを向上させ
得るベクトルデータ処理装置を提供することを目的とす
るものである。
ータ処理装置は、少なくとも独立に動作することが可能
な1つ以上の読み出しデータバスおよび書き込みデータ
バスを有する複数個の主メモリユニットからなる主メモ
リと、複数の入力バスおよび複数の出力バスを有し、前
記複数の入力バスを前記複数の出力バスに選択的に接続
するための第1のデータ整列処理部と、ベクトルデータ
の一部がインターリーブされた複数のバンク単位に記憶
され、それぞれ1つ以上のベクトルレジスタ書き込みデ
ータバスおよび1つ以上のベクトルレジスタ読み出しデ
ータバスを有する複数個のベクトルレジスタユニットか
らなるベクトルレジスタ部と、を具備し、且つ前記各主
メモリユニットの読み出しデータバスと前記第1のデー
タ整列処理部の各入力バスとを接続するとともに、前記
第1のデータ整列処理部の各出力バスと前記各ベクトル
レジスタユニットのベクトルレジスタ書き込みデータバ
スとを接続したベクトルデータ処理装置において、前記
第1のデータ整列処理部は、各入力バス幅を複数の第1
の区分データ幅に分割するとともに、該第1の区分デー
タ幅に分割した入力バスに各対応して、それぞれ前記第
1の区分データ幅毎に前記複数の入力バスを前記複数の
出力バスに選択的に接続する複数の第1のデータ整列処
理区分ユニットを含み、前記ベクトルレジスタ部は、各
ベクトルレジスタ書き込みデータバス幅を複数個の第2
の区分データ幅に分割するとともに、該第2の区分デー
タ幅に分割したベクトルレジスタ書込みデータバスに各
対応して前記第2の区分データ幅に分割した複数個のベ
クトルレジスタユニットを含み、且つ前記第2の区分デ
ータ幅は、前記第1の区分データ幅の所定の2のベキ乗
倍に設定する構成を特徴としている〔請求項1〕。
レジスタユニットには、第1の区分データ幅に分割され
た第1のデータ整列処理区分ユニットと、該第1のデー
タ整列処理区分ユニットに対応する区分データ位置の所
定の2のベキ乗倍の区分データ位置に対応する第1のデ
ータ整列処理区分ユニットとを接続する構成としてもよ
い〔請求項2〕。
ニットは、第1の区分データ幅に分割されたベクトルレ
ジスタ書込みデータバスの第1の区分データと該第1の
区分データのデータ位置の所定の2のベキ乗倍の区分デ
ータ位置に対応する他の前記第1の区分データとからい
ずれか一方を選択する書込みデータ選択回路と、前記書
込みデータ選択回路で選択された区分データが書き込ま
れるベクトルレジスタとを含んでいてもよい〔請求項
3〕。
タ形式のベクトルデータを取り扱うようにしてもよい
〔請求項4〕。複数個の主記憶ユニットからベクトルレ
ジスタ部へのデータ転送における主メモリアドレス情報
と、ベクトルレジスタ部へのデータ書込みにおけるデー
タ形式情報とによって、書き込みデータ選択回路を選択
制御する書込み選択制御部をさらに具備していてもよい
〔請求項5〕。
御部からの所定の“0”データ書き込み制御信号によっ
て、ベクトルレジスタ書き込みデータの内容を“0”に
するクリア手段を含んでいてもよい〔請求項6〕。
き込み可否可能に制御するベクトルレジスタ書込み制御
部をさらに具備していてもよい〔請求項7〕。複数の第
1のデータ整列処理区分ユニットを全て同一タイミング
で且つ同一制御情報で連動制御して、第1の区分データ
幅毎の複数の入力バスを同期的に且つ各対応して複数の
出力バスに接続して、第1の区分データ幅毎にデータ整
列を行うデータ整列制御部をさらに具備していてもよい
〔請求項8〕。
し、前記複数の入力バスを前記複数の出力バスに選択的
に接続するための第2のデータ整列処理部とをさらに具
備して、各ベクトルレジスタユニットのベクトルレジス
タ読み出しデータバスと前記第2データ整列処理部の各
入力バスとを接続するとともに、前記第2のデータ整列
処理部の各出力バスと主メモリユニットの各書込みデー
タバスとを接続し、且つ前記第2のデータ整列処理部
は、各入力バスおよび各出力バスの少なくとも一方のバ
ス幅を複数個の第3の区分データ幅に分割するととも
に、該第3の区分データ幅に分割した入力バスおよび出
力バスの少なくとも一方に各対応して、それぞれ前記第
3の区分データ幅毎に前記複数の入力バスを前記複数の
出力バスに選択的に接続する複数の第3のデータ整列処
理区分ユニットを含み、前記第3の区分データ幅は、第
2の区分データ幅の大きさの2のベキ乗分の1に設定す
る構成としてもよい〔請求項9〕。
のデータ整列処理部の入力バスと共用し、前記第1のデ
ータ整列処理部の入力バスを前記第2のデータ整列処理
部の出力バスと共用して、前記第1のデータ整列処理部
と前記第2のデータ整列処理部とを共通の構成としても
よい〔請求項10〕。
レジスタユニットには、第3の区分データ幅に分割され
た第2のデータ整列処理区分ユニットと、該第2のデー
タ整列処理区分ユニットに対応する区分データ位置の所
定の2のベキ乗分の1の区分データ位置に対応する第2
のデータ整列処理区分ユニットとを接続する構成として
もよい〔請求項11〕。
ニットは、第3の区分データ幅に分割されたベクトルレ
ジスタ読出しデータバスの第3の区分データと該第3の
区分データのデータ位置の所定の2のベキ乗倍の区分デ
ータ位置に対応する他の前記第3の区分データとからい
ずれか一方を選択し、選択された区分データをベクトル
レジスタに書き込む書込みデータ選択回路を含んでいて
もよい〔請求項12〕。
タ形式情報によって、読出しデータ選択回路を選択制御
する読出し選択制御部をさらに具備していてもよい〔請
求項13〕。
ットとした書込み可否制御情報を用いて、主メモリユニ
ットへの書込みデータバス毎に書き込み可否可能に制御
するメモリ書込み制御部をさらに具備していてもよい
〔請求項14〕。
入力バス幅を複数の第1の区分データ幅に分割するとと
もに、該第1の区分データ幅に分割した入力バスに各対
応して、それぞれ前記第1の区分データ幅毎に複数の入
力バスを複数の出力バスに選択的に接続する複数の第1
のデータ整列処理区分ユニットを含む第1のデータ整列
処理部と、各ベクトルレジスタ書き込みデータバス幅を
複数個の第2の区分データ幅に分割するとともに、該第
2の区分データ幅に分割したベクトルレジスタ書込みデ
ータバスに各対応して前記第2の区分データ幅に分割し
た複数個のベクトルレジスタユニットを含むベクトルレ
ジスタ部とを設け、且つ前記第2の区分データ幅は、前
記第1の区分データ幅の所定の2のベキ乗倍に設定し
て、ベクトルレジスタ部の少なくとも入力部にバイト間
で選択接続を行う構成とすることにより、データをより
細分化してデータ整列処理を行うことが可能となり、構
成のリピータビリティを向上させることができ、高集積
度化も容易になる。
の実施例を図面を参照して説明する。
ータ処理装置を組み込んだベクトル計算システムの全体
の概略的な構成を示している。図1のベクトル計算シス
テムは、ベクトル命令部10、アドレス発生部12、メ
モリ制御部14、パイプライン制御部16、マスクレジ
スタ部18、ベクトルレジスタ部(VR)20、演算部
22、データ整列部24および主メモリ26を備えてい
る。
ログラム等により与えられるベクトル命令をデコードし
て、ベクトルロード命令およびベクトルストア命令等の
ベクトルアクセス命令、ならびにベクトル演算命令を含
むベクトル命令を発生する。アドレス発生部12は、デ
ータエレメントについての主メモリ26のアドレス、マ
スクレジスタ部18およびベクトルレジスタ部20のリ
クエストアドレスを発生する。メモリ制御部14は、直
接またはパイプライン制御部16と連携して、主メモリ
26の読出しおよび書込みを制御する。
からデータを読出し、データ整列部24でデータの整列
処理を行って、マスクレジスタ部18またはベクトルレ
ジスタ部20に書き込む動作、すなわちロード動作の制
御、およびマスクレジスタ部18またはベクトルレジス
タ部20からデータを読出し、データ整列部24におい
てデータの整列処理を行って、主メモリ26に書き込む
動作、すなわちストア動作に係る制御を行う。このパイ
プライン制御部16の制御は、前記ロードおよびストア
に係るパイプライン処理の制御を含んでいる。
スタ部20は、ベクトル演算のためのマスクデータおよ
びベクトルデータをそれぞれ格納する。演算部22は、
パイプライン処理を用いて所要のベクトル演算を行う。
データ整列部24は、ロード動作時に、主メモリ26か
ら読出したデータを、マスクレジスタ部18またはベク
トルレジスタ部20に書き込む際に、データを適切に並
べ替えるとともに、ストア動作時に、マスクレジスタ部
18またはベクトルレジスタ部20から読出したデータ
を、主メモリ26に書き込む際に、データを適切に並べ
替える。主メモリ26は、このベクトル計算システムの
主記憶装置であり、ベクトル計算に供されるデータおよ
び計算の結果として得られるデータを格納する。
テムの概略的な動作を説明する。主メモリ26に格納さ
れているベクトルデータは、計算に際してアクセスさ
れ、マスクレジスタ部18またはベクトルレジスタ部2
0との間で転送され、上述したロードまたはストア動作
が行われる。演算部22は、マスクレジスタ部18内の
マスクデータとベクトルレジスタ部20内のベクトルデ
ータを用いてベクトルデータの演算を行う。
コードして、ベクトル演算命令またはベクトルアクセス
命令を発生する。ベクトル命令部10で発生した命令
が、ベクトル演算命令である場合には、メモリアクセス
を含まないので、ベクトルレジスタ部20からベクトル
データを読出して演算部22でベクトル演算を実行し、
演算結果をベクトルレジスタ部20に書き込む。
のアクセスを含むベクトルロード命令およびベクトルス
トア命令等が含まれる。ベクトル命令部10で発生した
命令が、ベクトルアクセス命令である場合には、主メモ
リ26のアクセスを含むので、アドレス発生部12で主
メモリ26におけるアドレスを発生する。このため、ベ
クトル命令部10から発信されるベクトルアクセス命令
は、アドレス発生部12およびパイプライン制御部16
に同時に送られる。アドレス発生部12では、主メモリ
26における各データエレメントのリクエストアドレス
と、マスクレジスタ部18およびベクトルレジスタ部2
0における各エレメントのリクエストアドレスとを順次
発生する。メモリ制御部14は、アドレス発生部12で
発生されたアドレス情報に基づいて、主メモリ26へア
クセスリクエストを発行する。すなわち、メモリ制御部
14は、アドレス発生部12で発生されたアドレス情報
が、主メモリ26上で連続する領域のデータを1つのリ
クエストで一括してアクセスするブロックアクセスであ
る場合は、アドレス発生部12から与えられる先頭アド
レスを始点として、指定されたエレメント数に相当する
個々のデータのアクセスを実行する。また、メモリ制御
部14は、アドレス発生部12で発生されたアドレス情
報が、主メモリ26上で離散的に存在する複数のデータ
のアクセスを示している場合は、アドレス発生部12か
ら与えられるアドレスに基づいて、主メモリ26に対
し、指定された個々のデータのアクセスを実行する。こ
れらのアクセスの形態を示す情報はメモリ制御部14か
らパイプライン制御部16にも与えられる。
では、メモリ制御部14から与えられる主メモリに対す
るアクセス情報に基づき、主メモリ26から読出したデ
ータをデータ整列部24で所要の並べ替えを行って、マ
スクレジスタ部18またはベクトルレジスタ部20に書
き込むロード制御、およびマスクレジスタ部18または
ベクトルレジスタ部20からデータを読出してデータ整
列部24において所要の並べ替えを行って、主メモリ2
6に書き込むストア制御を行う。
タ部20、演算部22およびデータ整列部24の詳細な
構成を示す。ベクトルレジスタ部20は、例えばこの場
合、8バイト幅の4個のデータを取り扱うものとして4
個のベクトルレジスタユニット32で構成され、各ベク
トルレジスタユニット32はそれぞれベクトルレジスタ
VRを有している。演算部22は、同様に4個の演算ユ
ニット34で構成される。
る第1のデータ整列処理部30を有する。第1のデータ
整列処理部30は、主メモリ26の各メモリユニットM
M−A、MM−B、MM−CおよびMM−Dから読出し
た各8バイト幅のデータを適宜分割し、第1の整列制御
信号に基づいて選択的に接続バスを切換えることによ
り、データを整列して出力バスBO−0、BO−1、B
O−2およびBO−3に供給する。
を図3に示す。図3に示す第1のデータ整列処理部30
は、8バイトのバスが、1バイトずつに分割、すなわち
1バイトずつにスライスされた8つのデータ整列処理ユ
ニット36で構成される。これら8つのデータ整列処理
ユニット36は、全く同様の構成を有し、第1の整列制
御信号に基づいて互いに同期連動して接続バスを切換え
る。各データ整列処理ユニット36は、それぞれ1バイ
トずつの4つの入力バスを選択的に切換えて4つの出力
バスに接続する。8つのデータ整列処理ユニット36の
出力は、1バイト毎の各出力データバスBO−0−0〜
BO−3−0、BO−0−1〜BO−3−1、BO−0
−2〜BO−3−2、…BO−0−7〜BO−3−7に
出力される。
ユニット34の詳細な構成を図4に示す。ベクトルレジ
スタユニット32は、この場合、それぞれ2バイトずつ
のデータを処理する4つのベクトルレジスタサブユニッ
ト38で構成される。各ベクトルレジスタサブユニット
38は、図3に示した1バイト毎の出力データバスBO
−0−0〜BO−3−0、BO−0−1〜BO−3−
1、BO−0−2〜BO−3−2、…BO−0−7〜B
O−3−7の出力のうちの4バイト毎の2つずつを1組
として処理する。
ベクトルレジスタユニット32に書き込まれる。1番目
のベクトルレジスタサブユニット38には、出力データ
バスBO−0の第0バイトの出力データバスBO−0−
0と第4バイトの出力データバスBO−0−4とが入力
され、該1番目のベクトルレジスタサブユニット38
は、これら出力データバスBO−0−0およびBO−0
−4からの入力データを第0バイト用のベクトルレジス
タ40および第4バイト用のベクトルレジスタ42に書
込み選択信号により選択的に切換えて入力し得るように
なっている。
サブユニット38では、書込み選択信号によって接続バ
スを選択的に切換えることにより、出力データバスBO
−0−0およびBO−0−4からの入力データをそれぞ
れ第0バイト用のベクトルレジスタ40および第4バイ
ト用のベクトルレジスタ42に入力するか、出力データ
バスBO−0−0およびBO−0−4からの入力データ
をそれぞれ第4バイト用のベクトルレジスタ42および
第0バイト用のベクトルレジスタ40に入力するかを選
択することができる。この選択切換えは、処理するデー
タの形式(すなわち、8バイトデータ、上位4バイトデ
ータ、および下位4バイトデータのいずれであるか)に
応じて行う。
ト32に書き込む場合には、演算ユニット34の第0バ
イトおよび第4バイトを、それぞれそのまま第0バイト
用のベクトルレジスタ40および第4バイト用のベクト
ルレジスタ42に入力する。演算結果をベクトルレジス
タユニット32に書き込むか否かは、マスクレジスタ1
8の内容によって決定される。
び第4バイト用のベクトルレジスタ42へのデータ書込
みは、書込み可否信号によって制御され、それぞれ必要
なデータのみがベクトルレジスタ40およびベクトルレ
ジスタ42に書き込まれるようになっている。
び第4バイト用のベクトルレジスタ42の出力は、互い
に結合され、さらに4つのベクトルレジスタサブユニッ
ト38の対応するものが結合されて、8バイトのデータ
が形成され、演算ユニット34の2つの入力のいずれか
一方に入力される。この8バイトのデータは、演算ユニ
ット34の2つの入力のいずれにも入力することができ
るように構成されている。
タ部20およびデータ整列部24の詳細な構成を示す。
ベクトルレジスタ部20は、例えばこの場合、8バイト
幅の4個のデータを取り扱うものとして4個のベクトル
レジスタユニット32で構成され、各ベクトルレジスタ
ユニット32はそれぞれベクトルレジスタVRを有して
いる。
る第2のデータ整列処理部44を有する。第2のデータ
整列処理部44は、4個のベクトルレジスタユニット3
2から8バイト幅の4つの入力バスBi−0、Bi−
1、Bi−2およびBi−3を介して取り出されるデー
タを適宜分割し、第2の整列制御信号に基づいて選択的
に接続バスを切換えることにより、データを整列して出
力バスBo−0、Bo−1、Bo−2およびBo−3を
介して主メモリ26の各メモリユニットMM−A、MM
−B、MM−CおよびMM−Dに供給する。
を図6に示す。図6に示す第2のデータ整列処理部44
は、8バイトのバスが、1バイトずつに分割、すなわち
1バイトずつにスライスされた8つのデータ整列処理ユ
ニット48で構成される。これら8つのデータ整列処理
ユニット48は、全く同様の構成を有し、第2の整列制
御信号に基づいて互いに同期連動して接続バスを切換え
る。各データ整列処理ユニット48は、ベクトルレジス
タユニット32に接続されたそれぞれ1バイトずつの4
つの入力バスを選択的に切換えて、主メモリ26の各メ
モリユニットMM−A、MM−B、MM−CおよびMM
−Dに接続された4つの出力バスに接続する。すなわ
ち、8つのデータ整列処理ユニット48の入力は、1バ
イト毎の各入力データバスBi−0−0〜Bi−3−
0、Bi−0−1〜Bi−3−1、Bi−0−2〜Bi
−3−2、…Bi−0−7〜Bi−3−7から与えら
れ、8つのデータ整列処理ユニット48の出力は、1バ
イト毎の各出力データバスBo−0−0〜Bo−3−
0、Bo−0−1〜Bo−3−1、Bo−0−2〜Bo
−3−2、…Bo−0−7〜Bo−3−7に出力され
る。
成を図7に示す。ベクトルレジスタユニット32は、こ
の場合、それぞれ2バイトずつのデータを処理する4つ
のベクトルレジスタサブユニット38で構成される。各
ベクトルレジスタサブユニット38は、図6に示した1
バイト毎の入力データバスBi−0−0〜Bi−3−
0、Bi−0−1〜Bi−3−1、Bi−0−2〜Bi
−3−2、…Bi−0−7〜Bi−3−7のうちの4バ
イト毎の2つずつを1組として、それらに対する出力を
供給する。
レジスタユニット32から出力される。1番目のベクト
ルレジスタサブユニット38からは、入力データバスB
i−0の第0バイトの入力データバスBi−0−0と第
4バイトの入力データバスBi−0−4へのデータが出
力され、該1番目のベクトルレジスタサブユニット38
は、これら入力データバスBi−0−0およびBi−0
−4への出力データを第0バイト用のベクトルレジスタ
40および第4バイト用のベクトルレジスタ42からV
R読出し選択信号により選択的に切換えて出力し得るよ
うになっている。
サブユニット38では、VR読出し選択信号によって接
続バスを選択的に切換えることにより、入力データバス
Bi−0−0およびBi−0−4への出力データをそれ
ぞれ第0バイト用のベクトルレジスタ40および第4バ
イト用のベクトルレジスタ42の両方から供給するか、
入力データバスBi−0−0およびBi−0−4への出
力データをそれぞれ第0バイト用のベクトルレジスタ4
0および第4バイト用のベクトルレジスタ42のいずれ
か一方から同一のデータを供給するかを選択することが
できる。
(すなわち、8バイトデータ、上位4バイトデータ、お
よび下位4バイトデータのいずれであるか)に応じて行
う。すなわち、8バイトデータのときは、図18(a)の
ように、第0バイト用のベクトルレジスタ40および第
4バイト用のベクトルレジスタ42の出力を、そのまま
入力データバスBi−0−0およびBi−0−4へ供給
する。上位4バイトのデータのときは、図18(b)のよ
うに第0バイト用のベクトルレジスタ40の出力を、入
力データバスBi−0−0およびBi−0−4へ共通に
供給する。下位4バイトのデータのときは、図18(c)
のように第4バイト用のベクトルレジスタ42の出力
を、入力データバスBi−0−0およびBi−0−4へ
共通に供給する。
9に示す。図9には、パイプライン制御部16のうちの
本発明実施例に直接関連がある部分のみを詳細に示して
おり、ここでは当該部分のみを説明する。図9に示すパ
イプライン制御部16は、第1のデータ整列制御部6
0、書込み選択制御部62、VR書込み可否制御部6
4、命令処理部66、VR読出し選択制御部68、第2
のデータ整列制御部70および書込み可否信号生成部7
2を有している。これらの構成は、主として上述したベ
クトルレジスタ部20およびデータ整列部24への各種
制御信号を生成する。第1のデータ整列制御部60は、
メモリ制御部14から主メモリ26のアクセスに関する
情報を受けるとともに、命令処理部66からオペレーシ
ョンコード等の情報を受けて、図3に示した第1のデー
タ整列処理ユニット36を制御するための第1の整列制
御信号を生成する。書込み選択制御部62は、第1のデ
ータ整列制御部60および命令処理部66の出力に応動
して、図4に示したベクトルレジスタサブユニット38
のベクトルレジスタ40および42等へのデータ形式に
応じた書込み選択のための接続バスの切換え制御を行う
ための書込み選択信号を生成する。VR書込み可否制御
部64は、書込み選択制御部62の出力に応動して、図
4のベクトルレジスタサブユニット38のベクトルレジ
スタ40および42等の書込み可否を制御するためのV
R書込み可否信号を生成する。
の命令を受けて第1のデータ整列制御部60、書込み選
択制御部62およびVR読出し選択制御部68へ命令実
行のためのオペレーションコード等を送る。VR読出し
選択制御部68は、メモリ制御部14から主メモリ26
のアクセスに関する情報を、命令処理部66から実行す
べき命令に関する情報をそれぞれ受けて図7に示すベク
トルレジスタサブユニット38のベクトルレジスタ40
および42等からのデータ形式に応じたデータの読出し
を制御するためのVR読出し選択信号を生成する。第2
のデータ整列制御部70は、VR読出し選択制御部68
からの情報を受けて、図6に示した第2のデータ整列処
理ユニット48を制御するための第2の整列制御信号を
生成する。書込み可否信号生成部72は、図5に示した
第2のデータ整列処理部44から主メモリユニットMM
−A、MM−B、MM−CおよびMM−Dへの、出力バ
スBo−0〜Bo−3毎のデータ書込みの可否を制御す
るメモリ書込み可否信号を生成する。
理装置のデータ整列処理のための構成を所定バイト数毎
にスライスして、複数の同様の構成による分割構成と
し、柔軟で且つ複雑なデータの操作を可能とするととも
に、構成のリピータビリティを向上させることが可能と
なる。
2のデータ整列処理部44とは、同時に処理することの
ないシステムであれば、共通の構成を切換え制御するこ
とにより実現することが可能であり、さらに構成を簡単
化することができる。
0および第2のデータ整列処理部44とベクトルレジス
タサブユニット38との分割データ幅は、両者の比を1
対2のベキ乗とすれば、種々選択して実施することがで
きる。
各入力バス幅を複数の第1の区分データ幅に分割すると
ともに、該第1の区分データ幅に分割した入力バスに各
対応して、それぞれ前記第1の区分データ幅毎に複数の
入力バスを複数の出力バスに選択的に接続する複数の第
1のデータ整列処理区分ユニットを含む第1のデータ整
列処理部と、各ベクトルレジスタ書き込みデータバス幅
を複数個の第2の区分データ幅に分割するとともに、該
第2の区分データ幅に分割したベクトルレジスタ書込み
データバスに各対応して前記第2の区分データ幅に分割
した複数個のベクトルレジスタユニットを含むベクトル
レジスタ部とを設け、且つ前記第2の区分データ幅は、
前記第1の区分データ幅の所定の2のベキ乗倍に設定し
て、ベクトルレジスタ部の少なくとも入力部にバイト間
で選択接続を行う構成とすることにより、データをより
細分化してデータ整列処理を行うことが可能となり、デ
ータ整列の自由度が増し、より少ないハードウェア量
で、転送速度を落とすことなく、構成の繰り返し性、す
なわちリピータビリティを向上させ得るベクトルデータ
処理装置を提供することができる。
力部にバイト間で、選択接続によるデータ整列制御を行
うことにより、より細分化された整列制御が可能となり
高精度化およびリピータビリティの自由度の増加が可能
となる。
クトル計算システムの一実施例の構成を示すブロック図
である。
置のロード時のシステムブロック図である。
置の第1のデータ整列処理部の模式的ブロック図であ
る。
置のベクトルレジスタユニットの詳細な構成を示す模式
的ブロック図である。
置のストア時のシステムブロック図である。
置の第2のデータ整列処理部の模式的ブロック図であ
る。
置のベクトルレジスタユニットの詳細な構成を示す模式
的ブロック図である。
置のベクトルレジスタからの読出し選択を説明するため
の図である。
置のパイプライン制御部の要部構成を示すブロック図で
ある。
装置のロード動作に係る機能構成についてのシステムブ
ロック図である。
フォーマットの一例を示す図である。
ブロック図である。
を示す模式図である。
ータ処理装置のストア動作に係る機能構成についてのシ
ステムブロック図である。
ブロック図である。
を示す模式図である。
処理装置のロード動作に係る機能構成についてのシステ
ムブロック図である。
ータ処理装置のストア動作に係る機能構成についてのシ
ステムブロック図である。
を示す模式図である。
Claims (14)
- 【請求項1】 少なくとも独立に動作することが可能な
1つ以上の読み出しデータバスおよび書き込みデータバ
スを有する複数個の主メモリユニットからなる主メモリ
と、 複数の入力バスおよび複数の出力バスを有し、前記複数
の入力バスを前記複数の出力バスに選択的に接続するた
めの第1のデータ整列処理部と、 ベクトルデータの一部がインターリーブされた複数のバ
ンク単位に記憶され、それぞれ1つ以上のベクトルレジ
スタ書き込みデータバスおよび1つ以上のベクトルレジ
スタ読み出しデータバスを有する複数個のベクトルレジ
スタユニットからなるベクトルレジスタ部と、を具備
し、且つ前記各主メモリユニットの読み出しデータバス
と前記第1のデータ整列処理部の各入力バスとを接続す
るとともに、前記第1のデータ整列処理部の各出力バス
と前記各ベクトルレジスタユニットのベクトルレジスタ
書き込みデータバスとを接続したベクトルデータ処理装
置において、 前記第1のデータ整列処理部は、各入力バス幅を複数の
第1の区分データ幅に分割するとともに、該第1の区分
データ幅に分割した入力バスに各対応して、それぞれ前
記第1の区分データ幅毎に前記複数の入力バスを前記複
数の出力バスに選択的に接続する複数の第1のデータ整
列処理区分ユニットを含み、前記ベクトルレジスタ部
は、各ベクトルレジスタ書き込みデータバス幅を複数個
の第2の区分データ幅に分割するとともに、該第2の区
分データ幅に分割したベクトルレジスタ書込みデータバ
スに各対応して前記第2の区分データ幅に分割した複数
個のベクトルレジスタユニットを含み、且つ前記第2の
区分データ幅は、前記第1の区分データ幅の所定の2の
ベキ乗倍に設定する構成としたことを特徴とするベクト
ルデータ処理装置。 - 【請求項2】 第2の区分データ幅に分割されたベクト
ルレジスタユニットには、第1の区分データ幅に分割さ
れた第1のデータ整列処理区分ユニットと、該第1のデ
ータ整列処理区分ユニットに対応する区分データ位置の
所定の2のベキ乗倍の区分データ位置に対応する第1の
データ整列処理区分ユニットとを接続する構成としたこ
とを特徴とする請求項1に記載のベクトルデータ処理装
置。 - 【請求項3】 ベクトルレジスタ部のベクトルレジスタ
ユニットは、第1の区分データ幅に分割されたベクトル
レジスタ書込みデータバスの第1の区分データと該第1
の区分データのデータ位置の所定の2のベキ乗倍の区分
データ位置に対応する他の前記第1の区分データとから
いずれか一方を選択する書込みデータ選択回路と、前記
書込みデータ選択回路で選択された区分データが書き込
まれるベクトルレジスタとを含むことを特徴とする請求
項2に記載のベクトルデータ処理装置。 - 【請求項4】 ベクトルレジスタ部は、複数種の格納デ
ータ形式のベクトルデータを取り扱うことを特徴とする
請求項2に記載のベクトルデータ処理装置。 - 【請求項5】 複数個の主記憶ユニットからベクトルレ
ジスタ部へのデータ転送における主メモリアドレス情報
と、ベクトルレジスタ部へのデータ書込みにおけるデー
タ形式情報とによって、書き込みデータ選択回路を選択
制御する書込み選択制御部をさらに具備することを特徴
とする請求項3または4に記載のベクトルデータ処理装
置。 - 【請求項6】 書き込みデータ選択回路は、書込み選択
制御部からの所定の“0”データ書き込み制御信号によ
って、ベクトルレジスタ書き込みデータの内容を“0”
にするクリア手段を含むことを特徴とする請求項5に記
載のベクトルデータ処理装置。 - 【請求項7】 ベクトルレジスタ書込みデータバス毎に
書き込み可否可能に制御するベクトルレジスタ書込み制
御部をさらに具備することを特徴とする請求項5に記載
のベクトルデータ処理装置。 - 【請求項8】 複数の第1のデータ整列処理区分ユニッ
トを全て同一タイミングで且つ同一制御情報で連動制御
して、第1の区分データ幅毎の複数の入力バスを同期的
に且つ各対応して複数の出力バスに接続して、第1の区
分データ幅毎にデータ整列を行うデータ整列制御部をさ
らに具備することを特徴とする請求項2に記載のベクト
ルデータ処理装置。 - 【請求項9】 複数の入力バスおよび複数の出力バスを
有し、前記複数の入力バスを前記複数の出力バスに選択
的に接続するための第2のデータ整列処理部とをさらに
具備して、各ベクトルレジスタユニットのベクトルレジ
スタ読み出しデータバスと前記第2データ整列処理部の
各入力バスとを接続するとともに、前記第2のデータ整
列処理部の各出力バスと主メモリユニットの各書込みデ
ータバスとを接続し、且つ前記第2のデータ整列処理部
は、各入力バスおよび各出力バスの少なくとも一方のバ
ス幅を複数個の第3の区分データ幅に分割するととも
に、該第3の区分データ幅に分割した入力バスおよび出
力バスの少なくとも一方に各対応して、それぞれ前記第
3の区分データ幅毎に前記複数の入力バスを前記複数の
出力バスに選択的に接続する複数の第3のデータ整列処
理区分ユニットを含み、前記第3の区分データ幅は、第
2の区分データ幅の大きさの2のベキ乗分の1に設定す
る構成としたことを特徴とする請求項1に記載のベクト
ルデータ処理装置。 - 【請求項10】 第1のデータ整列処理部の出力バスを
第2のデータ整列処理部の入力バスと共用し、前記第1
のデータ整列処理部の入力バスを前記第2のデータ整列
処理部の出力バスと共用して、前記第1のデータ整列処
理部と前記第2のデータ整列処理部とを共通の構成とす
ることを特徴とする請求項9に記載のベクトルデータ処
理装置。 - 【請求項11】 第2の区分データ幅に分割されたベク
トルレジスタユニットには、第3の区分データ幅に分割
された第2のデータ整列処理区分ユニットと、該第2の
データ整列処理区分ユニットに対応する区分データ位置
の所定の2のベキ乗分の1の区分データ位置に対応する
第2のデータ整列処理区分ユニットとを接続する構成と
したことを特徴とする請求項9または10に記載のベク
トルデータ処理装置。 - 【請求項12】 ベクトルレジスタ部のベクトルレジス
タユニットは、第3の区分データ幅に分割されたベクト
ルレジスタ読出しデータバスの第3の区分データと該第
3の区分データのデータ位置の所定の2のベキ乗倍の区
分データ位置に対応する他の前記第3の区分データとか
らいずれか一方を選択し、選択された区分データをベク
トルレジスタに書き込む書込みデータ選択回路を含むこ
とを特徴とする請求項11に記載のベクトルデータ処理
装置。 - 【請求項13】 ベクトルレジスタ部から読出すときの
データ形式情報によって、読出しデータ選択回路を選択
制御する読出し選択制御部をさらに具備することを特徴
とする請求項12に記載のベクトルデータ処理装置。 - 【請求項14】 第2の区分データ幅の2のベキ乗倍を
1ビットとした書込み可否制御情報を用いて、主メモリ
ユニットへの書込みデータバス毎に書き込み可否可能に
制御するメモリ書込み制御部をさらに具備することを特
徴とする請求項13に記載のベクトルデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11323495A JP3594260B2 (ja) | 1995-05-11 | 1995-05-11 | ベクトルデータ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11323495A JP3594260B2 (ja) | 1995-05-11 | 1995-05-11 | ベクトルデータ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08305685A true JPH08305685A (ja) | 1996-11-22 |
| JP3594260B2 JP3594260B2 (ja) | 2004-11-24 |
Family
ID=14606975
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11323495A Expired - Fee Related JP3594260B2 (ja) | 1995-05-11 | 1995-05-11 | ベクトルデータ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3594260B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009009447A (ja) * | 2007-06-29 | 2009-01-15 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置 |
| JP2011233155A (ja) * | 2011-06-16 | 2011-11-17 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置 |
| JP2012137839A (ja) * | 2010-12-24 | 2012-07-19 | Fujitsu Ltd | メモリ制御装置、及びメモリ制御方法 |
| JP2016538636A (ja) * | 2013-12-26 | 2016-12-08 | インテル・コーポレーション | メモリアクセス中のデータ並べ替え |
| JP2017508201A (ja) * | 2014-01-31 | 2017-03-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換 |
-
1995
- 1995-05-11 JP JP11323495A patent/JP3594260B2/ja not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009009447A (ja) * | 2007-06-29 | 2009-01-15 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置 |
| JP2012137839A (ja) * | 2010-12-24 | 2012-07-19 | Fujitsu Ltd | メモリ制御装置、及びメモリ制御方法 |
| JP2011233155A (ja) * | 2011-06-16 | 2011-11-17 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置 |
| JP2016538636A (ja) * | 2013-12-26 | 2016-12-08 | インテル・コーポレーション | メモリアクセス中のデータ並べ替え |
| EP3087489A4 (en) * | 2013-12-26 | 2017-09-20 | Intel Corporation | Data reorder during memory access |
| JP2017508201A (ja) * | 2014-01-31 | 2017-03-23 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3594260B2 (ja) | 2004-11-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5724540A (en) | Memory system having a column address counter and a page address counter | |
| US4881168A (en) | Vector processor with vector data compression/expansion capability | |
| JPS618785A (ja) | 記憶装置アクセス制御方式 | |
| US6041387A (en) | Apparatus for read/write-access to registers having register file architecture in a central processing unit | |
| US4771380A (en) | Virtual vector registers for vector processing system | |
| US4495598A (en) | Computer rotate function | |
| WO1994003860A1 (en) | Massively parallel computer including auxiliary vector processor | |
| JPH0619752B2 (ja) | データ転送方法及び装置 | |
| JPH0764853A (ja) | Simdマルチプロセッサ用の可変正確度間接的アドレス方法およびそれを行う装置 | |
| JPH05508495A (ja) | 多重プロセッサ用大域レジスタ | |
| JPH0719426B2 (ja) | デイスク制御装置 | |
| US4070703A (en) | Control store organization in a microprogrammed data processing system | |
| US5167029A (en) | Data processing system and associated process using memory cards having data modify functions utilizing a data mask and an internal register | |
| KR19990037572A (ko) | 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법 | |
| JPH08305685A (ja) | ベクトルデータ処理装置 | |
| EP0122739B1 (en) | List vector control apparatus | |
| JPS621047A (ja) | メモリ回路を有する半導体装置 | |
| US4959778A (en) | Address space switching apparatus | |
| JPH05197619A (ja) | マルチcpu用メモリ制御回路 | |
| US5327539A (en) | Access processing system in information processor | |
| JPH0341856B2 (ja) | ||
| JPS6156546B2 (ja) | ||
| JP2527814B2 (ja) | 命令処理システム | |
| JPH02224041A (ja) | キャッシュメモリ制御回路 | |
| JP2583614B2 (ja) | ベクトル演算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Effective date: 20040608 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040726 |
|
| 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: 20040810 |
|
| A61 | First payment of annual fees (during grant procedure) |
Effective date: 20040830 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 4 Free format text: PAYMENT UNTIL: 20080910 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090910 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090910 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20100910 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 6 Free format text: PAYMENT UNTIL: 20100910 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110910 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120910 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |