JP2908273B2 - ベクトル処理装置 - Google Patents
ベクトル処理装置Info
- Publication number
- JP2908273B2 JP2908273B2 JP7128595A JP7128595A JP2908273B2 JP 2908273 B2 JP2908273 B2 JP 2908273B2 JP 7128595 A JP7128595 A JP 7128595A JP 7128595 A JP7128595 A JP 7128595A JP 2908273 B2 JP2908273 B2 JP 2908273B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- vector data
- data
- main memory
- identifier
- 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.)
- Expired - Fee Related
Links
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明はマルチプロセッサ構成の
ベクトル処理装置に関する。
ベクトル処理装置に関する。
【0002】
【従来の技術】マルチプロセッサ構成のベクトル処理装
置において、主記憶からベクトルデータを読み出すベク
トルロード命令が各プロセッサから発行される場合、主
記憶におけるバンク競合が発生することがあるため、バ
ンク競合を回避するべくプロセッサ間で主記憶アクセス
の調停を行う必要がある。しかしならが主記憶アクセス
の調停を行うと主記憶の使用効率が低下するため、従来
より主記憶の使用効率を向上させるためにプロセッサ間
での主記憶アクセスの調停を行わずに命令発行が行われ
てきた。この場合、主記憶におけるバンク競合等によ
り、1ベクトル命令内におけるベクトルデータの各要素
間で、プロセッサへ返るデータの間隔が空いたり、また
順番が逆転したりすることがあるため、後続のベクトル
命令がベクトルデータを使用する場合は、そのベクトル
データの全要素がプロセッサへ戻ってきたことを確認し
た後にベクトルデータを使用していた。
置において、主記憶からベクトルデータを読み出すベク
トルロード命令が各プロセッサから発行される場合、主
記憶におけるバンク競合が発生することがあるため、バ
ンク競合を回避するべくプロセッサ間で主記憶アクセス
の調停を行う必要がある。しかしならが主記憶アクセス
の調停を行うと主記憶の使用効率が低下するため、従来
より主記憶の使用効率を向上させるためにプロセッサ間
での主記憶アクセスの調停を行わずに命令発行が行われ
てきた。この場合、主記憶におけるバンク競合等によ
り、1ベクトル命令内におけるベクトルデータの各要素
間で、プロセッサへ返るデータの間隔が空いたり、また
順番が逆転したりすることがあるため、後続のベクトル
命令がベクトルデータを使用する場合は、そのベクトル
データの全要素がプロセッサへ戻ってきたことを確認し
た後にベクトルデータを使用していた。
【0003】
【発明が解決しようとする課題】上述した従来のベクト
ル処理装置では、主記憶におけるバンク競合等により、
ベクトルロードデータの戻りに滞留や順番の逆転が生じ
る場合があるため、主記憶から読み出したベクトルデー
タを後続命令が使用する場合、前記後続命令が前記ベク
トルデータを使用できるのは、前記ベクトルデータの全
要素が、先行するベクトルロード命令によりプロセッサ
へ戻ってきたことを確認した後である。したがって、ベ
クトルデータを使用する後続命令については、命令の実
行が前記確認の完了まで待たされることとなり、演算実
行性能の低下を引き起こす要因となるという問題点があ
る。
ル処理装置では、主記憶におけるバンク競合等により、
ベクトルロードデータの戻りに滞留や順番の逆転が生じ
る場合があるため、主記憶から読み出したベクトルデー
タを後続命令が使用する場合、前記後続命令が前記ベク
トルデータを使用できるのは、前記ベクトルデータの全
要素が、先行するベクトルロード命令によりプロセッサ
へ戻ってきたことを確認した後である。したがって、ベ
クトルデータを使用する後続命令については、命令の実
行が前記確認の完了まで待たされることとなり、演算実
行性能の低下を引き起こす要因となるという問題点があ
る。
【0004】本発明は、このような場合において、後続
命令の実行開始を早め、演算実行性能の低下を防止する
ことを目的とする。
命令の実行開始を早め、演算実行性能の低下を防止する
ことを目的とする。
【0005】
【課題を解決するための手段】本発明のベクトル処理装
置は、主記憶を共有するマルチプロセッサ構成のベクト
ル処理装置において、主記憶に対するベクトルデータロ
ードリクエストの各要素にシステム上ユニークな識別子
を付加する識別子付加手段と、前記各要素の主記憶アク
セスが行なわれる度に主記憶アクセスバンクをチェック
し、アクセス可能と判断された後、主記憶から読み出し
たデータより一定時間早いタイミングで前記データに対
応する前記識別子を、前記ベクトルデータロードリクエ
ストの発行元プロセッサに返却する主記憶制御手段と、
主記憶から読み出されたベクトルデータを保持するベク
トルデータ保持手段と、前記識別子に基づき、前記ベク
トルデータを前記ベクトルデータ保持手段に書き込む書
き込み制御手段と、前記識別子により、書き込まれたベ
クトルデータの要素毎の有効性を示す有効指示手段と、
前記有効指示手段を参照し前記ベクトルデータ保持手段
からベクトルデータの読み出しを開始するように制御す
る読みだし制御手段とを有することを特徴とする。
置は、主記憶を共有するマルチプロセッサ構成のベクト
ル処理装置において、主記憶に対するベクトルデータロ
ードリクエストの各要素にシステム上ユニークな識別子
を付加する識別子付加手段と、前記各要素の主記憶アク
セスが行なわれる度に主記憶アクセスバンクをチェック
し、アクセス可能と判断された後、主記憶から読み出し
たデータより一定時間早いタイミングで前記データに対
応する前記識別子を、前記ベクトルデータロードリクエ
ストの発行元プロセッサに返却する主記憶制御手段と、
主記憶から読み出されたベクトルデータを保持するベク
トルデータ保持手段と、前記識別子に基づき、前記ベク
トルデータを前記ベクトルデータ保持手段に書き込む書
き込み制御手段と、前記識別子により、書き込まれたベ
クトルデータの要素毎の有効性を示す有効指示手段と、
前記有効指示手段を参照し前記ベクトルデータ保持手段
からベクトルデータの読み出しを開始するように制御す
る読みだし制御手段とを有することを特徴とする。
【0006】
【実施例】次に本発明の実施例について図面を参照して
説明する。
説明する。
【0007】図1は本発明の第1の実施例の構成図であ
る。本実施例は4つのベクトル処理プロセッサ3〜6を
有するマルチプロセッサ構成であり、各々のベクトル処
理プロセッサ3〜6は、主記憶制御回路2を通じて主記
憶1に対するアクセスを行うことができる。
る。本実施例は4つのベクトル処理プロセッサ3〜6を
有するマルチプロセッサ構成であり、各々のベクトル処
理プロセッサ3〜6は、主記憶制御回路2を通じて主記
憶1に対するアクセスを行うことができる。
【0008】各ベクトル処理プロセッサ3〜6は同構成
であり、ベクトル処理プロセッサ3について、その詳細
を示す図1から、命令発行回路30,命令保持レジスタ
31,識別子付加回路32,リクエスト保持レジスタ3
3,リクエスト生成回路34,VR書き込み制御回路3
5,4つのベクトルレジスタ360〜363,有効指示
回路37,VR読み出し制御回路38及びベクトルデー
タ演算回路39で構成されることがわかる。
であり、ベクトル処理プロセッサ3について、その詳細
を示す図1から、命令発行回路30,命令保持レジスタ
31,識別子付加回路32,リクエスト保持レジスタ3
3,リクエスト生成回路34,VR書き込み制御回路3
5,4つのベクトルレジスタ360〜363,有効指示
回路37,VR読み出し制御回路38及びベクトルデー
タ演算回路39で構成されることがわかる。
【0009】ベクトル処理プロセッサ3における命令発
行回路30から発行された命令は、命令保持レジスタ3
1に格納される。命令発行回路30からベクトルロード
命令が発行された場合の、命令保持レジスタ31に格納
される命令の内容の詳細を図2に示す。ベクトルロード
命令の場合、命令保持レジスタ31には、OPコード3
10、ベクトルレジスタ番号311、ベクトル長31
2、ディスタンス313、スタートアドレス314が格
納される。リクエスト生成回路34は、OPコード31
0、ディスタンス313及びスタートアドレス314に
基づき、主記憶アクセスのアドレスを計算し、リード・
ライト情報333および主記憶のアドレス334をリク
エスト保持レジスタ33にセットする。
行回路30から発行された命令は、命令保持レジスタ3
1に格納される。命令発行回路30からベクトルロード
命令が発行された場合の、命令保持レジスタ31に格納
される命令の内容の詳細を図2に示す。ベクトルロード
命令の場合、命令保持レジスタ31には、OPコード3
10、ベクトルレジスタ番号311、ベクトル長31
2、ディスタンス313、スタートアドレス314が格
納される。リクエスト生成回路34は、OPコード31
0、ディスタンス313及びスタートアドレス314に
基づき、主記憶アクセスのアドレスを計算し、リード・
ライト情報333および主記憶のアドレス334をリク
エスト保持レジスタ33にセットする。
【0010】同時に、ベクトルレジスタ番号311を、
識別子付加回路32におけるベクトルレジスタ番号保持
レジスタ321に格納し、初期設定であらかじめプロセ
ッサ番号保持レジスタ320に格納されている自プロセ
ッサ番号とともに、リクエスト保持レジスタ33にセッ
トする。
識別子付加回路32におけるベクトルレジスタ番号保持
レジスタ321に格納し、初期設定であらかじめプロセ
ッサ番号保持レジスタ320に格納されている自プロセ
ッサ番号とともに、リクエスト保持レジスタ33にセッ
トする。
【0011】以上の動作は、ベクトル長312で示され
る値の回数繰り返し行われ、動作の行われた回数をカウ
ンタ322でカウントし、カウンタ322の値は要素番
号としてリクエスト保持レジスタ33にセットされる。
ベクトル長312とカウンタ322の値はコンパレータ
323で比較され、カウンタ322の値がベクトル長3
12と等しくなるとカウンタ322を0にリセットす
る。リクエスト保持レジスタ33上のプロセッサ番号3
30、ベクトルレジスタ番号331、要素番号332
は、ベクトルロードデータの各要素に付加されたシステ
ム上ユニークな識別子となる。
る値の回数繰り返し行われ、動作の行われた回数をカウ
ンタ322でカウントし、カウンタ322の値は要素番
号としてリクエスト保持レジスタ33にセットされる。
ベクトル長312とカウンタ322の値はコンパレータ
323で比較され、カウンタ322の値がベクトル長3
12と等しくなるとカウンタ322を0にリセットす
る。リクエスト保持レジスタ33上のプロセッサ番号3
30、ベクトルレジスタ番号331、要素番号332
は、ベクトルロードデータの各要素に付加されたシステ
ム上ユニークな識別子となる。
【0012】リクエスト保持レジスタ33に格納された
各要素の識別子および主記憶アドレス情報は、主記憶制
御回路2を通じて主記憶1に送られる。そして、主記憶
アドレス情報により指定された主記憶アドレスがバンク
ビジー状態でなく、データの読み出し可能であることが
主記憶制御回路2で判定されると、上述の識別子は主記
憶1から主記憶制御回路2へ主記憶読み出しデータが読
み出されてくる前に、主記憶制御回路2からVR書き込
み制御回路35に送出される。
各要素の識別子および主記憶アドレス情報は、主記憶制
御回路2を通じて主記憶1に送られる。そして、主記憶
アドレス情報により指定された主記憶アドレスがバンク
ビジー状態でなく、データの読み出し可能であることが
主記憶制御回路2で判定されると、上述の識別子は主記
憶1から主記憶制御回路2へ主記憶読み出しデータが読
み出されてくる前に、主記憶制御回路2からVR書き込
み制御回路35に送出される。
【0013】主記憶読み出しデータは、主記憶アクセス
タイムの時間の分だけ、識別子より遅れてVR書き込み
制御回路35に送出される。VR書き込み制御回路35
の詳細を図3に示す。リクエスト保持レジスタ33にお
けるベクトルレジスタ番号331はベクトルレジスタ番
号受信レジスタ350、要素番号332は要素番号受信
レジスタ351にそれぞれ主記憶制御回路2を経由して
格納され、主記憶1から読み出されたベクトルデータは
データ受信レジスタ352に格納される。また、プロセ
ッサ番号330については、主記憶制御回路2におい
て、4個のベクトル処理プロセッサ3〜6の中からベク
トルデータ格納先のプロセッサを選択する際に使用さ
れ、選択されたベクトル処理プロセッサ内において、以
下のような処理が行われる。
タイムの時間の分だけ、識別子より遅れてVR書き込み
制御回路35に送出される。VR書き込み制御回路35
の詳細を図3に示す。リクエスト保持レジスタ33にお
けるベクトルレジスタ番号331はベクトルレジスタ番
号受信レジスタ350、要素番号332は要素番号受信
レジスタ351にそれぞれ主記憶制御回路2を経由して
格納され、主記憶1から読み出されたベクトルデータは
データ受信レジスタ352に格納される。また、プロセ
ッサ番号330については、主記憶制御回路2におい
て、4個のベクトル処理プロセッサ3〜6の中からベク
トルデータ格納先のプロセッサを選択する際に使用さ
れ、選択されたベクトル処理プロセッサ内において、以
下のような処理が行われる。
【0014】ベクトルレジスタ番号受信レジスタ35
0、および要素番号受信レジスタ351の出力は持ち回
りバッファ353へ出力され、一定時間ベクトルレジス
タ番号及び要素番号を持ち回った後、対応する要素の主
記憶読み出しデータがデータ受信レジスタ352から出
力されるのと同じタイミングで、持ち回りバッファ35
3から出力される。持ち回りバッファ353から出力さ
れたベクトルレジスタ番号はデコーダ356でデコード
され、ベクトルデータの格納先となるベクトルレジスタ
360〜363の一つを選択する選択制御信号として、
ベクトルレジスタ360〜363に送出される。データ
受信レジスタ352から出力された主記憶読み出しデー
タは、この選択制御信号により選択されたベクトルレジ
スタにおける、持ち回りバッファ353から出力された
要素番号の内容で示されるアドレスに格納される。
0、および要素番号受信レジスタ351の出力は持ち回
りバッファ353へ出力され、一定時間ベクトルレジス
タ番号及び要素番号を持ち回った後、対応する要素の主
記憶読み出しデータがデータ受信レジスタ352から出
力されるのと同じタイミングで、持ち回りバッファ35
3から出力される。持ち回りバッファ353から出力さ
れたベクトルレジスタ番号はデコーダ356でデコード
され、ベクトルデータの格納先となるベクトルレジスタ
360〜363の一つを選択する選択制御信号として、
ベクトルレジスタ360〜363に送出される。データ
受信レジスタ352から出力された主記憶読み出しデー
タは、この選択制御信号により選択されたベクトルレジ
スタにおける、持ち回りバッファ353から出力された
要素番号の内容で示されるアドレスに格納される。
【0015】ベクトルレジスタ番号受信レジスタ350
の出力はデコーダ355へも出力され、デコーダ355
の出力はベクトルデータ有効フラグ370〜373、カ
ウンタ374〜377及びセレクタ378における選択
制御信号として出力される。ベクトルデータ有効フラグ
370〜373、カウンタ374〜377はそれぞれベ
クトルレジスタ360〜363に対応して存在してお
り、ベクトルデータ有効フラグ370〜373は、ベク
トルレジスタ360〜363における各要素のデータの
有効性を示すフラグである。ベクトルデータ有効性フラ
グ370〜373のそれぞれは、1ベクトルデータの要
素の数と同数のビット数を有する。
の出力はデコーダ355へも出力され、デコーダ355
の出力はベクトルデータ有効フラグ370〜373、カ
ウンタ374〜377及びセレクタ378における選択
制御信号として出力される。ベクトルデータ有効フラグ
370〜373、カウンタ374〜377はそれぞれベ
クトルレジスタ360〜363に対応して存在してお
り、ベクトルデータ有効フラグ370〜373は、ベク
トルレジスタ360〜363における各要素のデータの
有効性を示すフラグである。ベクトルデータ有効性フラ
グ370〜373のそれぞれは、1ベクトルデータの要
素の数と同数のビット数を有する。
【0016】要素番号受信レジスタ351に格納された
要素番号は、デコーダ354により要素番号に対応する
ビットのみ1をセットした値にデコードされ、ベクトル
データ有効フラグ370〜373の内、上述の選択制御
信号により選択されたベクトルデータ有効フラグにおけ
る上述のビットに1をセットする。カウンタ374〜3
77は、それぞれベクトルレジスタ360〜363から
ベクトルデータの読み出しが可能となるまでの時間を示
しており、値が0になるまでクロックサイクル毎に1ず
つカウントダウンし、カウンタ374〜377の値が0
になるまでは、対応するベクトルレジスタ360〜36
3からベクトルデータの読み出しはできない。
要素番号は、デコーダ354により要素番号に対応する
ビットのみ1をセットした値にデコードされ、ベクトル
データ有効フラグ370〜373の内、上述の選択制御
信号により選択されたベクトルデータ有効フラグにおけ
る上述のビットに1をセットする。カウンタ374〜3
77は、それぞれベクトルレジスタ360〜363から
ベクトルデータの読み出しが可能となるまでの時間を示
しており、値が0になるまでクロックサイクル毎に1ず
つカウントダウンし、カウンタ374〜377の値が0
になるまでは、対応するベクトルレジスタ360〜36
3からベクトルデータの読み出しはできない。
【0017】カウンタ374〜377はカウンタ制御回
路379により制御され、デコーダ354から出力され
た要素番号の値とカウンタ374〜377の現在の値と
を比較して、デコーダ355から出力された選択制御信
号により指定されたカウンタに値を設定する。本実施例
の場合、後述のように主記憶1からのデータ読み出しア
クセスタイムが5クロックサイクルあるので、カウンタ
制御回路379がカウンタ374〜377に設定する値
は、(5−要素番号)とカウンタの現在の値とを比較し
て、大きい方の値となる。この措置は、必ずしも要素番
号0からベクトルデータ360〜363に格納されない
ベクトルデータを要素番号0から読み出せるようにする
ためのもである。セレクタ378はカウンタ374〜3
77の出力の中から、選択制御信号により指示されたも
のを選択して、カウンタ制御回路379へ送出する。以
上の一連の動作は、VR書き込み制御回路35にデータ
が到着する毎に行われる。
路379により制御され、デコーダ354から出力され
た要素番号の値とカウンタ374〜377の現在の値と
を比較して、デコーダ355から出力された選択制御信
号により指定されたカウンタに値を設定する。本実施例
の場合、後述のように主記憶1からのデータ読み出しア
クセスタイムが5クロックサイクルあるので、カウンタ
制御回路379がカウンタ374〜377に設定する値
は、(5−要素番号)とカウンタの現在の値とを比較し
て、大きい方の値となる。この措置は、必ずしも要素番
号0からベクトルデータ360〜363に格納されない
ベクトルデータを要素番号0から読み出せるようにする
ためのもである。セレクタ378はカウンタ374〜3
77の出力の中から、選択制御信号により指示されたも
のを選択して、カウンタ制御回路379へ送出する。以
上の一連の動作は、VR書き込み制御回路35にデータ
が到着する毎に行われる。
【0018】図4に本実施例におけるベクトルデータ有
効フラグ370〜373への有効ビットの書き込み、お
よびベクトルレジスタ360〜363へのベクトルデー
タの書き込みの一例のタイムチャートを示す。本図にお
ける横軸の1目盛りは1クロックサイクルを示し、タイ
ムチャート中の数字は要素番号を示す。要素0〜3まで
は要素番号順にクロックサイクル毎に主記憶1からデー
タが読み出されているが、要素4のデータの読み出しの
際に、他のベクトル処理プロセッサからの主記憶アクセ
スによるバンク競合が発生したため、データの読み出し
に滞留が発生し、さらに要素5のデータの読み出しに追
い抜かされている。データ読み出しの滞留や順番の逆転
は要素6、要素9、要素13についても発生している。
本実施例においては、主記憶1からのデータの読み出し
に際し、5クロックサイクル分のアクセスタイムがある
ので、各要素に関して、ベクトルデータ有効フラグ37
0〜373への有効ビットの書き込みより5クロックサ
イクルの後に、ベクトルレジスタ360〜363へのデ
ータの書き込みが行われる。
効フラグ370〜373への有効ビットの書き込み、お
よびベクトルレジスタ360〜363へのベクトルデー
タの書き込みの一例のタイムチャートを示す。本図にお
ける横軸の1目盛りは1クロックサイクルを示し、タイ
ムチャート中の数字は要素番号を示す。要素0〜3まで
は要素番号順にクロックサイクル毎に主記憶1からデー
タが読み出されているが、要素4のデータの読み出しの
際に、他のベクトル処理プロセッサからの主記憶アクセ
スによるバンク競合が発生したため、データの読み出し
に滞留が発生し、さらに要素5のデータの読み出しに追
い抜かされている。データ読み出しの滞留や順番の逆転
は要素6、要素9、要素13についても発生している。
本実施例においては、主記憶1からのデータの読み出し
に際し、5クロックサイクル分のアクセスタイムがある
ので、各要素に関して、ベクトルデータ有効フラグ37
0〜373への有効ビットの書き込みより5クロックサ
イクルの後に、ベクトルレジスタ360〜363へのデ
ータの書き込みが行われる。
【0019】次に、ベクトルレジスタ360〜363に
格納されたベクトルデータを使用する演算命令が命令発
行回路30から発行されると、VR読みだし制御回路3
8におけるベクトルレジスタ番号保持レジスタ380、
およびベクトル長保持レジスタ381それぞれに、ベク
トルレジスタ番号及びこのベクトルデータのベクトル長
がセットされ、処理を要素0番から順次連続して行うた
めに、カウンタ382が0にリセットされる。カウンタ
382の値は、ベクトルレジスタから読み出すベクトル
データの要素番号を示しており、ベクトルデータの読み
出しアドレスとしてベクトルレジスタ360〜363に
送出され、同時にコンパレータ387へも送出される。
格納されたベクトルデータを使用する演算命令が命令発
行回路30から発行されると、VR読みだし制御回路3
8におけるベクトルレジスタ番号保持レジスタ380、
およびベクトル長保持レジスタ381それぞれに、ベク
トルレジスタ番号及びこのベクトルデータのベクトル長
がセットされ、処理を要素0番から順次連続して行うた
めに、カウンタ382が0にリセットされる。カウンタ
382の値は、ベクトルレジスタから読み出すベクトル
データの要素番号を示しており、ベクトルデータの読み
出しアドレスとしてベクトルレジスタ360〜363に
送出され、同時にコンパレータ387へも送出される。
【0020】ベクトルレジスタ360〜363の出力
は、セレクタ385においてベクトルレジスタ番号保持
レジスタ380の出力で示される選択制御信号により選
択され、ベクトルデータ演算回路39に送出される。ベ
クトルデータ有効フラグ370〜373、およびカウン
タ374〜377の出力は、それぞれセレクタ383、
384において前述の選択制御信号により選択され、ベ
クトルレジスタ読み出し有効指示回路386に送出され
る。
は、セレクタ385においてベクトルレジスタ番号保持
レジスタ380の出力で示される選択制御信号により選
択され、ベクトルデータ演算回路39に送出される。ベ
クトルデータ有効フラグ370〜373、およびカウン
タ374〜377の出力は、それぞれセレクタ383、
384において前述の選択制御信号により選択され、ベ
クトルレジスタ読み出し有効指示回路386に送出され
る。
【0021】ベクトルレジスタ有効指示回路386は、
命令発行回路30からベクトルレジスタ360〜363
に格納されたベクトルデータに関する演算命令であるこ
とと、ベクトル長保持レジスタ381からベクトルデー
タのベクトルデータ長の情報を受け取り、セレクタ38
4の出力値が0(要素番号0からの読み出しが可能な状
態)であり、かつセレクタ383の出力値において上述
のベクトル長に対応するビットが全て1である(ベクト
ル長だけの全要素がベクトルレジスタに格納された)場
合に、ベクトルレジスタからのデータ読み出しが可能と
判断し、ベクトルデータ演算回路39へベクトルデータ
有効指示信号を送出すると同時にカウンタ382へカウ
ント動作の起動指示信号を送出する。
命令発行回路30からベクトルレジスタ360〜363
に格納されたベクトルデータに関する演算命令であるこ
とと、ベクトル長保持レジスタ381からベクトルデー
タのベクトルデータ長の情報を受け取り、セレクタ38
4の出力値が0(要素番号0からの読み出しが可能な状
態)であり、かつセレクタ383の出力値において上述
のベクトル長に対応するビットが全て1である(ベクト
ル長だけの全要素がベクトルレジスタに格納された)場
合に、ベクトルレジスタからのデータ読み出しが可能と
判断し、ベクトルデータ演算回路39へベクトルデータ
有効指示信号を送出すると同時にカウンタ382へカウ
ント動作の起動指示信号を送出する。
【0022】カウンタ382は、この起動指示信号を受
け、クロックサイクル毎に1ずつカウントアップするこ
とで、クロックサイクル毎にベクトルレジスタ360〜
363から順番に各要素のデータが読み出される。この
ような一連のベクトルレジスタ読み出し動作は、コンパ
レータ387においてベクトル長保持レジスタ381の
値とカウンタ382の値の一致が検出されるまで行わ
れ、検出結果はカウンタ382とベクトルレジスタ読み
出し有効指示回路386へ送出される。カウンタ382
はこの検出結果を受けてカウント動作を停止し、ベクト
ルレジスタ読み出し有効指示回路386は検出結果を受
けてベクトルデータ演算回路39に対するベクトルデー
タ有効指示信号の送出を停止する。ベクトルデータ演算
回路39は、ベクトルデータ有効指示信号を受け取って
いる間にセレクタ385から受け取ったベクトルデータ
についてベクトル演算を実行する。
け、クロックサイクル毎に1ずつカウントアップするこ
とで、クロックサイクル毎にベクトルレジスタ360〜
363から順番に各要素のデータが読み出される。この
ような一連のベクトルレジスタ読み出し動作は、コンパ
レータ387においてベクトル長保持レジスタ381の
値とカウンタ382の値の一致が検出されるまで行わ
れ、検出結果はカウンタ382とベクトルレジスタ読み
出し有効指示回路386へ送出される。カウンタ382
はこの検出結果を受けてカウント動作を停止し、ベクト
ルレジスタ読み出し有効指示回路386は検出結果を受
けてベクトルデータ演算回路39に対するベクトルデー
タ有効指示信号の送出を停止する。ベクトルデータ演算
回路39は、ベクトルデータ有効指示信号を受け取って
いる間にセレクタ385から受け取ったベクトルデータ
についてベクトル演算を実行する。
【0023】図4の下段に、本実施例におけるベクトル
レジスタ360〜363からのベクトルデータの読み出
しの一例のタイムチャートを従来技術と比較して示す。
従来技術においてはベクトルデータの各要素に対応した
有効ビットを持っていないため、ベクトルレジスタから
のデータの読み出し開始は、最後の要素15がベクトル
レジスタへ書き込まれるのを確認した後でないと行うこ
とができなかった。本発明においては、ベクトルデータ
有効フラグ370〜373における要素15の有効ビッ
トが1にセットされるのを確認した時点でベクトルレジ
スタからのデータの読み出しを開始するため、従来技術
と比較して主記憶からのデータ読み出しアクセスタイム
の5クロックサイクル分早くデータの読み出しを開始す
ることが可能となることがわかる。
レジスタ360〜363からのベクトルデータの読み出
しの一例のタイムチャートを従来技術と比較して示す。
従来技術においてはベクトルデータの各要素に対応した
有効ビットを持っていないため、ベクトルレジスタから
のデータの読み出し開始は、最後の要素15がベクトル
レジスタへ書き込まれるのを確認した後でないと行うこ
とができなかった。本発明においては、ベクトルデータ
有効フラグ370〜373における要素15の有効ビッ
トが1にセットされるのを確認した時点でベクトルレジ
スタからのデータの読み出しを開始するため、従来技術
と比較して主記憶からのデータ読み出しアクセスタイム
の5クロックサイクル分早くデータの読み出しを開始す
ることが可能となることがわかる。
【0024】
【発明の効果】以上説明したように、本発明は、主記憶
を共有するマルチプロセッサ構成のベクトル処理装置に
おいて、主記憶に対するベクトルデータロードリクエス
トの各要素にシステム上ユニークな識別子を付加する識
別子付加手段と、各要素の主記憶アクセスが行なわれる
度に主記憶アクセスバンクをチェックし、アクセス可能
と判断された後、主記憶から読みだしたデータより一定
時間早いタイミングでデータに対応する識別子を、ベク
トルデータロードリクエストの発行元プロセッサに返却
する主記憶制御手段と、主記憶から読み出されたベクト
ルデータを保持するベクトルデータ保持手段と、識別子
に基づき、ベクトルデータをベクトルデータ保持手段に
書き込む書き込み制御手段と、識別子により、書き込ま
れたベクトルデータの要素毎の有効性を示す有効指示手
段と、有効指示手段を参照しベクトルデータ保持手段か
らベクトルデータの読み出しを開始するように制御する
読みだし制御手段とを有し、識別子付加手段において、
ベクトル命令の発行元プロセッサ番号と、ベクトルデー
タ格納先のベクトルデータ保持手段の番号と、ベクトル
データにおける各要素番号とを識別子として付加し、書
き込み制御手段において、識別子におけるベクトルデー
タ保持手段の番号でベクトルデータ格納先を特定し、ベ
クトルデータ要素番号を書き込みアドレスとして、ベク
トルデータ保持手段に対し要素番号順に並べ変えながら
書き込むように制御し、有効指示手段において、ベクト
ルデータ保持手段に格納されたベクトルデータの各要素
に対応して、データが有効であるか否かを示す有効指示
ビットを有し、識別子で特定されるベクトルデータ保持
手段番号及びベクトルデータ要素番号により該当する有
効指示ビットを点灯させ、読みだし制御手段において、
読み出しアドレスに対応する有効指示ビットを参照し、
点灯している場合に、該当する要素の読み出しを有効と
して、読み出しアドレスを加算することにより、ベクト
ルデータの有効性を各要素毎に付加された識別子により
管理するため、主記憶から読みだされたベクトルデータ
の全要素がベクトルデータ保持手段に格納されるのを待
たずに、ベクトルデータ保持手段からの前記ベクトルデ
ータの読み出しを開始することが可能となり、ベクトル
データを使用した後続のベクトル演算命令の実行開始を
早めることができ、各ベクトル処理装置における演算実
行性能の低下を防止することが可能となる。
を共有するマルチプロセッサ構成のベクトル処理装置に
おいて、主記憶に対するベクトルデータロードリクエス
トの各要素にシステム上ユニークな識別子を付加する識
別子付加手段と、各要素の主記憶アクセスが行なわれる
度に主記憶アクセスバンクをチェックし、アクセス可能
と判断された後、主記憶から読みだしたデータより一定
時間早いタイミングでデータに対応する識別子を、ベク
トルデータロードリクエストの発行元プロセッサに返却
する主記憶制御手段と、主記憶から読み出されたベクト
ルデータを保持するベクトルデータ保持手段と、識別子
に基づき、ベクトルデータをベクトルデータ保持手段に
書き込む書き込み制御手段と、識別子により、書き込ま
れたベクトルデータの要素毎の有効性を示す有効指示手
段と、有効指示手段を参照しベクトルデータ保持手段か
らベクトルデータの読み出しを開始するように制御する
読みだし制御手段とを有し、識別子付加手段において、
ベクトル命令の発行元プロセッサ番号と、ベクトルデー
タ格納先のベクトルデータ保持手段の番号と、ベクトル
データにおける各要素番号とを識別子として付加し、書
き込み制御手段において、識別子におけるベクトルデー
タ保持手段の番号でベクトルデータ格納先を特定し、ベ
クトルデータ要素番号を書き込みアドレスとして、ベク
トルデータ保持手段に対し要素番号順に並べ変えながら
書き込むように制御し、有効指示手段において、ベクト
ルデータ保持手段に格納されたベクトルデータの各要素
に対応して、データが有効であるか否かを示す有効指示
ビットを有し、識別子で特定されるベクトルデータ保持
手段番号及びベクトルデータ要素番号により該当する有
効指示ビットを点灯させ、読みだし制御手段において、
読み出しアドレスに対応する有効指示ビットを参照し、
点灯している場合に、該当する要素の読み出しを有効と
して、読み出しアドレスを加算することにより、ベクト
ルデータの有効性を各要素毎に付加された識別子により
管理するため、主記憶から読みだされたベクトルデータ
の全要素がベクトルデータ保持手段に格納されるのを待
たずに、ベクトルデータ保持手段からの前記ベクトルデ
ータの読み出しを開始することが可能となり、ベクトル
データを使用した後続のベクトル演算命令の実行開始を
早めることができ、各ベクトル処理装置における演算実
行性能の低下を防止することが可能となる。
【図1】本発明の一実施例のブロック図である。
【図2】図1に示した実施例における命令保持レジスタ
31,識別子付加回路32及びリクエスト保持レジスタ
33の詳細図である。
31,識別子付加回路32及びリクエスト保持レジスタ
33の詳細図である。
【図3】図1に示した実施例におけるVR書き込み制御
回路35,有効性指示回路37及びVR読み出し制御回
路38の詳細図である。
回路35,有効性指示回路37及びVR読み出し制御回
路38の詳細図である。
【図4】図1に示した実施例におけるベクトルデータ読
み出し・書き込みのタイムチャートである。
み出し・書き込みのタイムチャートである。
1 主記憶 2 主記憶制御回路 3〜6 ベクトル処理プロセッサ 30 命令発行回路 31 命令保持レジスタ 310 OPコード 311 ベクトルレジスタ番号 312 ベクトル長 313 ディスタンス 314 スタートアドレス 32 識別子付加回路 320 プロセッサ番号保持レジスタ 321 ベクトルレジスタ番号保持レジスタ 322 カウンタ 323 コンパレータ 33 リクエスト保持レジスタ 330 プロセッサ番号 331 ベクトルレジスタ番号 332 要素番号 333 リード・ライト情報 334 アドレス 34 リクエスト生成回路 35 VR書き込み制御回路 350 ベクトルレジスタ番号受信レジスタ 351 要素番号受信レジスタ 352 データ受信レジスタ 353 持ち回りバッファ 354〜356 デコーダ 360〜363 ベクトルレジスタ 37 有効指示回路 370〜373 ベクトルデータ有効フラグ 374〜377 カウンタ 378 セレクタ 379 カウンタ制御回路 38 VR読みだし制御回路 380 ベクトルレジスタ番号保持レジスタ 381 ベクトル長保持レジスタ 382 カウンタ 383〜385 セレクタ 386 ベクトルレジスタ読み出し有効指示回路 387 コンパレータ 39 ベクトルデータ演算回路
フロントページの続き (56)参考文献 特開 昭62−251956(JP,A) 特公 昭61−52512(JP,B2) 特表 平10−502756(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/16 G06F 12/06 550
Claims (5)
- 【請求項1】 主記憶を共有するマルチプロセッサ構成
のベクトル処理装置において、 主記憶に対するベクトルデータロードリクエストの各要
素にシステム上ユニークな識別子を付加する識別子付加
手段と、 前記各要素の主記憶アクセスが行なわれる度に主記憶ア
クセスバンクをチェックし、アクセス可能と判断された
後、主記憶から読み出したデータより一定時間早いタイ
ミングで前記データに対応する前記識別子を、前記ベク
トルデータロードリクエストの発行元プロセッサに返却
する主記憶制御手段と、 主記憶から読み出されたベクトルデータを保持するベク
トルデータ保持手段と、 前記識別子に基づき、前記ベクトルデータを前記ベクト
ルデータ保持手段に書き込む書き込み制御手段と、 前記識別子により、書き込まれたベクトルデータの要素
毎の有効性を示す有効指示手段と、 前記有効指示手段を参照し前記ベクトルデータ保持手段
からベクトルデータの読み出しを開始するように制御す
る読み出し制御手段とを有することを特徴とするベクト
ル処理装置。 - 【請求項2】 前記識別子付加手段は、ベクトル命令の
発行元プロセッサ番号と、ベクトルデータ格納先のベク
トルデータ保持手段の番号と、ベクトルデータにおける
各要素番号とを識別子として付加することを特徴とする
請求項1記載のベクトル処理装置。 - 【請求項3】 前記書き込み制御手段は、前記識別子に
おけるベクトルデータ保持手段の番号でベクトルデータ
格納先を特定し、ベクトルデータ要素番号を書き込みア
ドレスとして、ベクトルデータ保持手段に対し要素番号
順に並ベ換えながら書き込むように制御することを特徴
とする請求項1記載のベクトル処理装置。 - 【請求項4】 前記有効指示手段は、前記ベクトルデー
タ保持手段に格納されたベクトルデータの各要素に対応
して、データが有効であるか否かを示す有効指示ビット
を有し、前記識別子で特定されるベクトルデータ保持手
段番号およびベクトルデータ要素番号により該当する有
効指示ビットを点灯させることを特徴とする請求項1記
載のベクトル処理装置。 - 【請求項5】 主記憶を共有するマルチプロセッサ構成
のベクトル処理装置において、 主記憶に対するベクトルデータロードリクエストの各要
素にシステム上ユニークな識別子を付加する識別子付加
手段と、 前記各要素の主記憶アクセスが行なわれる度に主記憶ア
クセスバンクをチェックし、アクセス可能と判断された
後、主記憶から読み出したデータより一定時間早いタイ
ミングで前記データに対応する前記識別子を、前記ベク
トルデータロードリクエストの発行元プロセッサに返却
する主記憶制御手段と、 主記憶から読み出されたベクトルデータを保持するベク
トルデータ保持手段と、前記識別子に基づき、前記ベク
トルデータを前記ベクトルデータ保持手段に書き込む書
き込み制御手段と、 前記ベクトルデータ保持手段に格納されたベクトルデー
タの各要素に対応してデータが有効であるか否かを示す
有効指示ビットと、前記ベクトルデータにおける最初の
要素が前記ベクトルデータ保持手段から読み出し可能と
なるまでの時間をカウントダウンするカウント手段とを
有し、前記識別子で特定されるベクトルデータ保持手段
番号およびベクトルデータ要素番号により該当する有効
指示ビットを点灯させ、前記一定時間の値から前記要素
番号の値を減じた値と、前記カウント手段が示す値との
うち大きい方の値を新たに前記カウント手段に設定する
有効指示手段と、 読み出しベクトルデータの全要素に対応する前記有効指
示ビットが点灯し、かつ、前記カウント手段の示す値が
0であることの情報を前記有効指示手段より受けて前記
ベクトルデータの読み出しを開始する読み出し制御手段
とを有することを特徴とする ベクトル処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7128595A JP2908273B2 (ja) | 1995-03-29 | 1995-03-29 | ベクトル処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7128595A JP2908273B2 (ja) | 1995-03-29 | 1995-03-29 | ベクトル処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08272775A JPH08272775A (ja) | 1996-10-18 |
JP2908273B2 true JP2908273B2 (ja) | 1999-06-21 |
Family
ID=13456287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7128595A Expired - Fee Related JP2908273B2 (ja) | 1995-03-29 | 1995-03-29 | ベクトル処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2908273B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701424B1 (en) * | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
US7765386B2 (en) * | 2005-09-28 | 2010-07-27 | Intel Corporation | Scalable parallel pipeline floating-point unit for vector processing |
JP5704012B2 (ja) * | 2011-08-01 | 2015-04-22 | 富士通セミコンダクター株式会社 | プロセッサ、及びプロセッサの制御方法 |
-
1995
- 1995-03-29 JP JP7128595A patent/JP2908273B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08272775A (ja) | 1996-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5201036A (en) | Data processor having wait state control unit | |
RU2137182C1 (ru) | Выполнение инструкции обработки данных | |
US4758949A (en) | Information processing apparatus | |
JP2908273B2 (ja) | ベクトル処理装置 | |
US5218688A (en) | Data processing system with memory-access priority control | |
EP1016962A2 (en) | Prioritized data and instruction fetch | |
JP3505728B2 (ja) | 記憶制御装置 | |
JPH0793274A (ja) | データ転送方式及びデータ転送装置 | |
JPS60205760A (ja) | メモリ制御装置 | |
JPS6156546B2 (ja) | ||
JPH0449145B2 (ja) | ||
GB2037466A (en) | Computer with cache memory | |
JPH10333979A (ja) | バンクアクセス制御方式 | |
JPH0540698A (ja) | 主記憶ページ管理方式 | |
JP2978913B2 (ja) | ランダムアクセスメモリへの共用アクセスを制御する方法およびシステム | |
JP3169878B2 (ja) | メモリ制御回路 | |
JPS6024976B2 (ja) | メモリ・アクセス制御方式 | |
JPH0721113A (ja) | マルチプロセッサシステム | |
JPS63263537A (ja) | 情報処理装置 | |
JPH02173844A (ja) | 記憶制御方式 | |
JPS6391756A (ja) | 記憶装置の部分書き込み命令処理方式 | |
JP2826466B2 (ja) | 並列コンピュータシステムの性能測定方式 | |
JPS584375B2 (ja) | メモリ・アクセス制御方式 | |
JPH0664552B2 (ja) | 情報処理装置の無効化処理方式 | |
JPH04308930A (ja) | 電子計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990302 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080402 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |