JPH02254563A - ベクトルデータ処理方式 - Google Patents
ベクトルデータ処理方式Info
- Publication number
- JPH02254563A JPH02254563A JP7735289A JP7735289A JPH02254563A JP H02254563 A JPH02254563 A JP H02254563A JP 7735289 A JP7735289 A JP 7735289A JP 7735289 A JP7735289 A JP 7735289A JP H02254563 A JPH02254563 A JP H02254563A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- instruction
- address
- store
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000003672 processing method Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
技術分野
本発明はベクトルデータ処理方式に関し、特にベクトル
データのストア命令及びロード命令の実行制御方式に関
するものである。
データのストア命令及びロード命令の実行制御方式に関
するものである。
従来技術
従来、この種のベクトルデータ処理方式におけるベクト
ル処理の命令列の例及びその処理の形を夫々第3図及び
第4図に示す。第3図に示す命令列の例において、演算
実行部のベクトルレジスタVlに記憶部ベクトルデータ
をロードするためのベクトルロード命令がVLD V
lであり、この命令が記憶制御部に送出されると、記憶
制御部は記憶部をアクセスしベクトルレジスタv1にデ
ータをロードする。
ル処理の命令列の例及びその処理の形を夫々第3図及び
第4図に示す。第3図に示す命令列の例において、演算
実行部のベクトルレジスタVlに記憶部ベクトルデータ
をロードするためのベクトルロード命令がVLD V
lであり、この命令が記憶制御部に送出されると、記憶
制御部は記憶部をアクセスしベクトルレジスタv1にデ
ータをロードする。
vlにデータがロードされ始めると、スカラデータとベ
クトルレジスタv1との加算命令(VADD)が演算実
行部に送出される。演算実行部で演算が開始されると、
その結果が格納されるベクトルレジスタv2のデータを
記憶部にストアする命令(VST V2)が、ベクト
ルレジスタV2に演算結果が書込まれるタイミングを見
て、記憶制御部に送出される。記憶制御部はこの命令が
送出されるとベクトルレジスタv2のデータを記憶部に
ストアする。
クトルレジスタv1との加算命令(VADD)が演算実
行部に送出される。演算実行部で演算が開始されると、
その結果が格納されるベクトルレジスタv2のデータを
記憶部にストアする命令(VST V2)が、ベクト
ルレジスタV2に演算結果が書込まれるタイミングを見
て、記憶制御部に送出される。記憶制御部はこの命令が
送出されるとベクトルレジスタv2のデータを記憶部に
ストアする。
その次にVLD V5の指示が記憶制御部に送出され
、ベクトルレジスタv5にデータがロードされると、ス
カラデータとベクトルレジスタv5との乗算命令(VM
F’Y)が演算実行部に送出される。演算実行部で演算
が開始されると、その結果が確定するタイミングを見て
、VST V7の指示が記憶制御部に送出され、乗算
命令の結果が記憶部にストアされる。
、ベクトルレジスタv5にデータがロードされると、ス
カラデータとベクトルレジスタv5との乗算命令(VM
F’Y)が演算実行部に送出される。演算実行部で演算
が開始されると、その結果が確定するタイミングを見て
、VST V7の指示が記憶制御部に送出され、乗算
命令の結果が記憶部にストアされる。
即ち、命令はプログラムで指定された順序で解読されて
リソース状態がチエツクされつつ実行指示が送出される
よう制御されている。
リソース状態がチエツクされつつ実行指示が送出される
よう制御されている。
処理装置を構成する論理素子が高速になってくると、演
算器も高速になってくる。それと共に、処理装置に接続
される記憶容量は増大されるのが一般であり、よって、
記憶制御部から記憶部のデータをアクセスする絶対時間
は、演算実行部の高速化に比例しては高速化されない。
算器も高速になってくる。それと共に、処理装置に接続
される記憶容量は増大されるのが一般であり、よって、
記憶制御部から記憶部のデータをアクセスする絶対時間
は、演算実行部の高速化に比例しては高速化されない。
第5図は、演算器の処理速度が2倍になり、記憶部のデ
ータアクセスは変化しない場合において、第3図の命令
の実行状態を示したものである。
ータアクセスは変化しない場合において、第3図の命令
の実行状態を示したものである。
第4図と第5図とを比較すると、第5図の演算実行部の
リソース、即ち加算器や乗算器の使用割合は第4図に比
較して少なく、演算器等の高速化のメリットが生かされ
ないという欠点がある。
リソース、即ち加算器や乗算器の使用割合は第4図に比
較して少なく、演算器等の高速化のメリットが生かされ
ないという欠点がある。
また、第4図、第5図の命令列のような場合、記憶部を
アクセスする命令の使用する記憶部のアドレスについて
は、−膜内に先行するベクトルストア命令と後続のベク
トルロード命令間では異なる領域を使用するケースも少
なくない。このような場合には、後続のベクトルロード
命令が先行するベクトルストア命令より先に記憶部をア
クセスして、データをベクトルレジスタヘロードしても
問題はない。
アクセスする命令の使用する記憶部のアドレスについて
は、−膜内に先行するベクトルストア命令と後続のベク
トルロード命令間では異なる領域を使用するケースも少
なくない。このような場合には、後続のベクトルロード
命令が先行するベクトルストア命令より先に記憶部をア
クセスして、データをベクトルレジスタヘロードしても
問題はない。
しかしながら、実際には、プログラムで指定される順番
で命令実行指示を送出するために、先行するベクトルス
トア命令の記憶部へのアクセスが終了するまで後続のベ
クトルロード命令の実行が待たされるようになっている
。よって、記憶制御部による記憶部の使用状況に無動作
状態が生じ、記憶部が効率よく使用されていないことに
なり、結果的にプログラムの実行時間が長くなってしま
うという欠点がある。
で命令実行指示を送出するために、先行するベクトルス
トア命令の記憶部へのアクセスが終了するまで後続のベ
クトルロード命令の実行が待たされるようになっている
。よって、記憶制御部による記憶部の使用状況に無動作
状態が生じ、記憶部が効率よく使用されていないことに
なり、結果的にプログラムの実行時間が長くなってしま
うという欠点がある。
発明の目的
そこで、本発明はこの様な従来のものの欠点を解決すべ
くなされたものであって、その目的とするところは、記
憶部を効率良く使用してプログラムの実行時間を短縮す
るようにしたベクトルデータ処理方式を提供することに
ある。
くなされたものであって、その目的とするところは、記
憶部を効率良く使用してプログラムの実行時間を短縮す
るようにしたベクトルデータ処理方式を提供することに
ある。
発明の構成
本発明によれば、ベクトルロード命令に応答してベクト
ルデータを記憶部から読出してベクトルレジスタへロー
ドし、このロードされたデータを演算処理してこの演算
結果をベクトルストア命令に応答して前記記憶部へスト
アする処理を繰返し行うようにしたベクトルデータ処理
方式であって、前記ベクトルストア命令に応答してスト
ア先の記憶部のアドレスを一時記憶するアドレススタッ
ク手段と、前記ベクトルロード命令に応答してロード元
の記憶部のアドレスと前記アドレススタック手段に格納
されているストア先アドレスとを比較し両者が競合しな
い場合に、前記ロード元からベクトルデータを読出して
一時記憶するデータバッファ手段とを設け、このベクト
ルロード命令に続く演算命令にとって、前記データバッ
ファ手段の格納データが必要となった時に、前記データ
バッファ手段へデータ転送要求を発生するようにしたこ
とを特徴とするベクトルデータ処理方式が得られる。
ルデータを記憶部から読出してベクトルレジスタへロー
ドし、このロードされたデータを演算処理してこの演算
結果をベクトルストア命令に応答して前記記憶部へスト
アする処理を繰返し行うようにしたベクトルデータ処理
方式であって、前記ベクトルストア命令に応答してスト
ア先の記憶部のアドレスを一時記憶するアドレススタッ
ク手段と、前記ベクトルロード命令に応答してロード元
の記憶部のアドレスと前記アドレススタック手段に格納
されているストア先アドレスとを比較し両者が競合しな
い場合に、前記ロード元からベクトルデータを読出して
一時記憶するデータバッファ手段とを設け、このベクト
ルロード命令に続く演算命令にとって、前記データバッ
ファ手段の格納データが必要となった時に、前記データ
バッファ手段へデータ転送要求を発生するようにしたこ
とを特徴とするベクトルデータ処理方式が得られる。
実施例
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明の一実施例を示すブロック図である。本
実施例は実行指示制御部1と、記憶制御部2と、記憶部
3と、演算実行部4とを有している。命令レジスタ11
は実行すべき命令を保持するレジスタである。アドレス
レジスタ12は当該命令で使用される記憶部3のアドレ
スを保持するレジスタである。
実施例は実行指示制御部1と、記憶制御部2と、記憶部
3と、演算実行部4とを有している。命令レジスタ11
は実行すべき命令を保持するレジスタである。アドレス
レジスタ12は当該命令で使用される記憶部3のアドレ
スを保持するレジスタである。
解読器15は命令レジスタ11の内容を解読し、第一の
グループの命令(本実施例では、ベクトルストア命令で
あり、以後ベクトルストア命令と記す)ならば、命令ス
タック13に命令レジスタ11の命令を格納し、アドレ
ススタック14にアドレスレジスタ12のアドレスを格
納する。
グループの命令(本実施例では、ベクトルストア命令で
あり、以後ベクトルストア命令と記す)ならば、命令ス
タック13に命令レジスタ11の命令を格納し、アドレ
ススタック14にアドレスレジスタ12のアドレスを格
納する。
命令レジスタ11の命令の第二のグループの命令(本実
施例では、ベクトルロード命令であり、以後ベクトルロ
ード命令と記す)ならば、アドレススタック14内の、
先行するベクトルストア命令の使用する記憶部のアドレ
スとアドレスレジスタ12のアドレス(ベクトルロード
命令の使用する記憶部のアト1/ス)とをアドレスチエ
ツク回路16で比較する。この比較によりアドレスの競
合が発生しなければ、記憶制御部2へ第二の処理要求1
9(本実施例では、ロードリクエストであり、以後ロー
ドリクエストと記す)とアドレスレジスタ12の内容を
送出すると共に、命令レジスタ11の命令を命令スタッ
ク13へ格納する。
施例では、ベクトルロード命令であり、以後ベクトルロ
ード命令と記す)ならば、アドレススタック14内の、
先行するベクトルストア命令の使用する記憶部のアドレ
スとアドレスレジスタ12のアドレス(ベクトルロード
命令の使用する記憶部のアト1/ス)とをアドレスチエ
ツク回路16で比較する。この比較によりアドレスの競
合が発生しなければ、記憶制御部2へ第二の処理要求1
9(本実施例では、ロードリクエストであり、以後ロー
ドリクエストと記す)とアドレスレジスタ12の内容を
送出すると共に、命令レジスタ11の命令を命令スタッ
ク13へ格納する。
記憶制御部2はロードリクエスト19を受信すると、記
憶部3をアクセスし、ベクトルデータをデータバッファ
21に格納する。
憶部3をアクセスし、ベクトルデータをデータバッファ
21に格納する。
命令レジスタ11の命令が演算命令であれば、その命令
を命令スタック13に格納する。
を命令スタック13に格納する。
命令スタック13の先頭命令は解読器/競合チエツク回
路17でリソース状態レジスタ18と比較される。命令
スタック13の先頭命令がベクトルストア命令ならば、
ストアするべきベクトルレジスタが先行する命令で読出
し中でないか、または書込みが開始前でなければ、記憶
制御部2に対し第一の処理要求IA(本実施例では、ス
トアリクエストであり、以後ストアリクエストと記す)
とアドレススタック14の先頭アドレス(ベクトルスト
アで使用するアドレス)とを送出する。
路17でリソース状態レジスタ18と比較される。命令
スタック13の先頭命令がベクトルストア命令ならば、
ストアするべきベクトルレジスタが先行する命令で読出
し中でないか、または書込みが開始前でなければ、記憶
制御部2に対し第一の処理要求IA(本実施例では、ス
トアリクエストであり、以後ストアリクエストと記す)
とアドレススタック14の先頭アドレス(ベクトルスト
アで使用するアドレス)とを送出する。
記憶制御部2はこのストアリクエストIAを受信すると
、記憶部3をアクセスし、演算実行部4のベクトルレジ
スタのデータを記憶部3に格納すると共に、このことを
実行指示部1のリソース状態レジスタ18に通知する。
、記憶部3をアクセスし、演算実行部4のベクトルレジ
スタのデータを記憶部3に格納すると共に、このことを
実行指示部1のリソース状態レジスタ18に通知する。
命令スタック13の先頭命令がベクトルロード命令なら
ば、ロードすべきベクトルレジスタが先行する命令で書
込み中でなければ、または読出しが開始されているなら
ば、記憶制御部2に対しデータ転送要求IBを送出する
。
ば、ロードすべきベクトルレジスタが先行する命令で書
込み中でなければ、または読出しが開始されているなら
ば、記憶制御部2に対しデータ転送要求IBを送出する
。
記憶制御部2はデータ転送要求IBを受信すると、デー
タバッファ21に、該当するデータが入り始めたか、あ
るいはすでにデータバッファ21にデータが格納されて
いるならば、データを演算実行部4のベクトルレジスタ
に対し送り始めると共に、このことを実行指示制御部1
のリソース状態レジスタ18に通知する。
タバッファ21に、該当するデータが入り始めたか、あ
るいはすでにデータバッファ21にデータが格納されて
いるならば、データを演算実行部4のベクトルレジスタ
に対し送り始めると共に、このことを実行指示制御部1
のリソース状態レジスタ18に通知する。
命令スタック13の先頭命令が演算命令であれば、解読
器/競合チエツク回路17でリソース状態レジスタ18
と比較され、競合がないか、あるいは演算データが準備
されているならば、演算実行部4に対して実行指示を送
出する。
器/競合チエツク回路17でリソース状態レジスタ18
と比較され、競合がないか、あるいは演算データが準備
されているならば、演算実行部4に対して実行指示を送
出する。
第2図は第3図に示す命令シーケンスを本発明の実施例
で実行した場合のタイムチャートを示したものである。
で実行した場合のタイムチャートを示したものである。
すなわち、ストア命令(V S T)が発生したとき、
記憶部内のストア元のアドレスと、先行するロード命令
(V L D)のロード先アドレスとの競合をチエツク
して、競合がない場合に、ストア命令のストア元アドレ
スにより記憶部からベクトルデータを読出しデータバッ
ファ2]に一時格納しておくことにより、後に当該スト
ア命令が実行される際にこのデータバッファ21よリベ
クトルデータを取出してベクトルレジスタへ転送するよ
うにしている。
記憶部内のストア元のアドレスと、先行するロード命令
(V L D)のロード先アドレスとの競合をチエツク
して、競合がない場合に、ストア命令のストア元アドレ
スにより記憶部からベクトルデータを読出しデータバッ
ファ2]に一時格納しておくことにより、後に当該スト
ア命令が実行される際にこのデータバッファ21よリベ
クトルデータを取出してベクトルレジスタへ転送するよ
うにしている。
こうすることによって、記憶部の空き領域を有効に利用
できるので、ベクトルデータの処理命令列の発生周期を
第2図に示す如く、第4図、5図の従来の発生周期に比
して短くすることが可能になるのである。
できるので、ベクトルデータの処理命令列の発生周期を
第2図に示す如く、第4図、5図の従来の発生周期に比
して短くすることが可能になるのである。
発明の効果
本発明によれば、ベクトルストア命令の場合に、記憶部
のストア元のアドレス領域が空いているときに、このア
ドレス領域のベクトルデータを読出して、データバッフ
ァに一時格納しておき、必要なタイミングでこのデータ
バッファからベクトルデータを取出してストア先のベク
トルレジスタへ格納するようにしているので、記憶部の
使用効率が向上し、実質的にメモリアクセスが短くなっ
て、ベクトル処理性能が良好となるという効果がある。
のストア元のアドレス領域が空いているときに、このア
ドレス領域のベクトルデータを読出して、データバッフ
ァに一時格納しておき、必要なタイミングでこのデータ
バッファからベクトルデータを取出してストア先のベク
トルレジスタへ格納するようにしているので、記憶部の
使用効率が向上し、実質的にメモリアクセスが短くなっ
て、ベクトル処理性能が良好となるという効果がある。
第1図は本発明の実施例のブロック図、第2図は第1図
のブロックの動作を示すタイムチャート、第3図はベク
トルデータ処理の例を示す命令シーケンス図、第4図及
び第5図は従来のベクトルデータ処理方式のタイムチャ
ートである。 主要部分の符号の説明 1・・・・・・実行指示制御部 2・・・・・・記憶制御部 3・・・・・・記憶部 4・・・・・・演算実行部 13・・・・・・命令スタック 14・・・・・・アドレススタック 16・・・・・・アドレス比較器 21・・・・・・データバッファ
のブロックの動作を示すタイムチャート、第3図はベク
トルデータ処理の例を示す命令シーケンス図、第4図及
び第5図は従来のベクトルデータ処理方式のタイムチャ
ートである。 主要部分の符号の説明 1・・・・・・実行指示制御部 2・・・・・・記憶制御部 3・・・・・・記憶部 4・・・・・・演算実行部 13・・・・・・命令スタック 14・・・・・・アドレススタック 16・・・・・・アドレス比較器 21・・・・・・データバッファ
Claims (1)
- (1)ベクトルロード命令に応答してベクトルデータを
記憶部から読出してベクトルレジスタへロードし、この
ロードされたデータを演算処理してこの演算結果をベク
トルストア命令に応答して前記記憶部へストアする処理
を繰返し行うようにしたベクトルデータ処理方式であっ
て、前記ベクトルストア命令に応答してストア先の記憶
部のアドレスを一時記憶するアドレススタック手段と、
前記ベクトルロード命令に応答してロード元の記憶部の
アドレスと前記アドレススタック手段に格納されている
ストア先アドレスとを比較し両者が競合しない場合に、
前記ロード元からベクトルデータを読出して一時記憶す
るデータバッファ手段とを設け、このベクトルロード命
令に続く演算命令にとって、前記データバッファ手段の
格納データが必要となった時に、前記データバッファ手
段へデータ転送要求を発生するようにしたことを特徴と
するベクトルデータ処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7735289A JPH02254563A (ja) | 1989-03-29 | 1989-03-29 | ベクトルデータ処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7735289A JPH02254563A (ja) | 1989-03-29 | 1989-03-29 | ベクトルデータ処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02254563A true JPH02254563A (ja) | 1990-10-15 |
Family
ID=13631520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7735289A Pending JPH02254563A (ja) | 1989-03-29 | 1989-03-29 | ベクトルデータ処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02254563A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325805A (ja) * | 1994-05-31 | 1995-12-12 | Kofu Nippon Denki Kk | ベクトル処理装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59158441A (ja) * | 1983-03-01 | 1984-09-07 | Nec Corp | パイプライン制御方式 |
-
1989
- 1989-03-29 JP JP7735289A patent/JPH02254563A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59158441A (ja) * | 1983-03-01 | 1984-09-07 | Nec Corp | パイプライン制御方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07325805A (ja) * | 1994-05-31 | 1995-12-12 | Kofu Nippon Denki Kk | ベクトル処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3532932B2 (ja) | 時間重複メモリ・アクセスを有するランダムにアクセス可能なメモリ | |
JPH0786845B2 (ja) | データ処理装置 | |
JP2531760B2 (ja) | ベクトル処理装置 | |
JPH03233630A (ja) | 情報処理装置 | |
US7100017B2 (en) | Method and apparatus for performing distributed processing of program code | |
JPH02254563A (ja) | ベクトルデータ処理方式 | |
WO2005106647A1 (en) | Methods and apparatus for indexed register access | |
JPH0512751B2 (ja) | ||
JPH11353291A (ja) | マルチプロセッサシステム及びタスク交換プログラムを記録した媒体 | |
EP0686922B1 (en) | Vector processing unit with reconfigurable data buffer | |
JP2883488B2 (ja) | 命令処理装置 | |
JPH01177145A (ja) | 情報処理装置 | |
KR20230095775A (ko) | Ndp 기능을 포함하는 메모리 확장 장치 및 이를 포함하는 가속기 시스템 | |
JP2883489B2 (ja) | 命令処理装置 | |
JP2001022581A (ja) | データ処理装置及びコンピュータ読み取り可能な記憶媒体 | |
JPH07191908A (ja) | マイクロプロセッサとその制御方法 | |
JPH02197961A (ja) | 情報処理装置 | |
JPS6222165A (ja) | 主記憶装置アクセス制御方式 | |
JPH0354665A (ja) | ベクトル処理装置 | |
JPH05274212A (ja) | メモリ初期化処理方法 | |
JPS6330966A (ja) | 情報処理装置 | |
JPH01243120A (ja) | ファームウェア制御装置 | |
JPH0844570A (ja) | プログラム実行システム及び方法 | |
JPH01175053A (ja) | セグメンテーション方式のデータ処理装置 | |
JPH0736705A (ja) | コンパイラ実行方式 |