JPH0895956A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPH0895956A
JPH0895956A JP22648494A JP22648494A JPH0895956A JP H0895956 A JPH0895956 A JP H0895956A JP 22648494 A JP22648494 A JP 22648494A JP 22648494 A JP22648494 A JP 22648494A JP H0895956 A JPH0895956 A JP H0895956A
Authority
JP
Japan
Prior art keywords
vector
elements
output
port
input
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
Application number
JP22648494A
Other languages
English (en)
Other versions
JP2704121B2 (ja
Inventor
Yasuhiro Igawa
康宏 井川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP6226484A priority Critical patent/JP2704121B2/ja
Publication of JPH0895956A publication Critical patent/JPH0895956A/ja
Application granted granted Critical
Publication of JP2704121B2 publication Critical patent/JP2704121B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】ベクトルのメモリアクセス命令において、ポー
ト競合による遅れを少なくすることによってスループッ
トを向上させる。 【構成】複数個の演算装置,主記憶装置,複数個メモリ
アクセス処理部からなるベクトル処理装置において、ベ
クトルのメモリアクセス命令発行時、メモリアクセス処
理部において、ポート競合が発生すると、入力ポートを
疑似的に拡張する。これによりポート競合検出対象要素
数が増え、出力要素数を増やすことができ、ポート競合
発生時の遅れが緩和され、スループットが向上する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はベクトル処理装置に関す
る。
【0002】
【従来の技術】一般に、ベクトル処理装置は、主メモリ
とレジスタあるいは演算器とのあいだで大量のデータを
高速に処理するために、同一タイミングにおいて複数の
データを同時に、メモリアクセス処理部に連続的に供給
して、高速化を実現している。
【0003】従来のこの種のベクトル処理装置は、図6
に示すように、ベクトルリクエストの各要素単位の複数
(例として4要素)の入力ポート、各入力ポート毎に入
力レジスタ31a〜31d、また、ポート競合発生時の
緩衝用に、同一動作するバッファ32a〜32d、バッ
ファ33a〜33d、ポート競合の検出およびバッファ
制御を行うポート競合検出回路37、入力要素のメモリ
アドレスから、出力ポートを生成し、該タイミングで出
力する要素を決定する出力要素検出回路36、出力要素
検出回路36の制御信号により、各出力ポートの、入力
要素を選択するセレクタ34a〜34dおよび出力ポー
ト対応の出力レジスタ35a〜35dを有している。
【0004】この従来のベクトル処理装置は、出力ポー
トが8バイト単位であり、4バイトメモリアクセス命令
も、8バイト単位に行っている。
【0005】図2は、従来例および本願発明を説明する
ためのベクトルストア命令時における各ベクトル要素
(以下、要素と記す)のアドレスと、各要素が出力され
る出力ポートを要素ごとに示す。図2において、ベクト
ル命令のベースアドレスを“0”、ディスタンスを
“4”とすると、要素0,1、要素2,3…、と連続2
要素ずつが同一出力ポートとなることがわかる。
【0006】次に、図2のベクトル命令時における従来
のベクトル処理装置の動作を説明する。先ず、入力レジ
スタ31a〜31dにはそれぞれ要素0から順番に、4
要素毎に連続的に格納される。あるタイミングで読み出
しレジスタ33a〜33dに格納された要素0〜3はポ
ート競合検出回路37によりポート競合の検出が行われ
る。この場合、要素0,1はそれぞれ出力ポート0に、
要素2,3はそれぞれ出力ポート1に向かうので、ポー
ト競合が発生することになる。ポート競合が発生した場
合、競合した要素の優先順位の高い要素(要素番号の最
も小さい要素)が出力要素検出回路36により検出さ
れ、セレクタ34aは読み出しレジスタ33aの要素
0、セレクタ34bでは読み出しレジスタ33cの要素
2がそれぞれ選択され、出力レジスタ35a,35bに
格納される。
【0007】このときポート競合検出回路37からは、
競合が発生したのでホールド要求が出され、読み出しレ
ジスタ33a〜33dはホールドし、バッファ32a〜
32dはバッファのリードアドレスをホールドし、ホー
ルド要求が解除されるまでその状態を保つことになる。
つまり、連続的に入力レジスタ31a〜31dに入力し
てくる要素は、バッファ32a〜32dにバッファリン
グされていくことになる。競合に敗れて残った要素1,
3は、次のタイミングに競合検出が行われ、今度はポー
ト競合が発生しないので、出力レジスタ35a,35b
にそれぞれ格納される。また競合が発生しないのでポー
ト競合検出36からのホールド要求は解除され、読み出
しレジスタ33a〜33dには次のタイミングで要素4
〜7の4要素が格納される。以降、同様な処理が全ての
要素の終了まで行われる。
【0008】図7は、上記動作を示したタイミング図で
あり、要素0、2が出力レジスタ35a〜35dに到着
するタイミングを1としたときの各要素の出力ポート到
着タイミングを示している。また1つのタイミングにお
ける、ポート競合検出対象要素、および出力ポートレジ
スタ到着要素数も示している。図2のベクトル命令の場
合、ポート競合により、各タイミングに4要素ずつの入
力に対して、出力が2要素ずつであることがわかる。こ
れは、最大スループットの1/2となる。
【0009】
【発明が解決しようとする課題】上述したように従来の
ベクトル処理装置では、4バイトのベクトルロード、ス
トア命令(ディスタンスが4バイトの奇数倍のケース)
において、スループットが最大値の1/2となってしま
い、ベクトルロードおよびストア命令の、主メモリのア
クセス時間に深刻な性能低下を引き起こすという欠点が
ある。
【0010】
【課題を解決するための手段】本発明のベクトル処理装
置は、ベクトル要素ごとにベクトル演算を行う1つ以上
のベクトル演算部と、複数バイトのデータを最小リクエ
スト単位として並列動作が可能な複数のメモリモジュー
ルで構成される主記憶部と、前記ベクトル演算部と前記
主記憶部間で出力ポートを介して前記ベクトル要素ごと
にデータ転送を制御するメモリアクセス制御部を備えた
ベクトル処理装置において、前記メモリアクセス制御部
は、前記ベクトル演算部からパイプライン方式で入力す
るベクトル要素を保持するn個(n≧1)の入力レジス
タと、各組が前記入力レジスタの保持内容をn個のベク
トル要素単位に、かつ要素番号順に格納するm組のバッ
ファと、前記m組のバッファからクロックに応答して読
み出されたベクトル要素を保持するm×n個の読み出し
レジスタと、前記各読み出しレジスタに保持されたベク
トル要素について、ベクトル要素のビット幅が前記最小
アクセス単位以下であるときに発生する前記出力ポート
の競合を検出するポート競合検出回路と、前記競合が検
出されると競合するベクトル要素のうちで前記要素番号
の最小のものを検出する出力要素検出回路と、該出力要
素の検出に応答して前記読み出しレジスタから当該ベク
トル要素を選択する前記出力ポートと同数のセクレタと
を設けたことを特徴とする。
【0011】
【実施例】以下、図面を用いて本発明の実施例について
詳述する。
【0012】図1は本発明の第1の実施例を示すブロッ
ク図であり、本ベクトル処理装置は並列に8バイト単位
のデータ転送を行うことが可能である。
【0013】図1において、入力レジスタ11a〜11
dは、ベクトルリクエストの各要素単位の複数(例とし
て4要素)の入力受けレジスタ群である。バッファ12
a〜12hはポート競合による待ち合わせが起きたとき
に連続的に発行される入力リクエストの緩衝用のバッフ
ァ群であり、バッファ12a〜12dおよびバッファ1
2e〜12hはそれぞれ入力レジスタ11a〜11dの
各要素に対応しており、バッファ12a〜12dと12
e〜12hに入力レジスタ11a〜11dの要素を交互
に入力する。
【0014】読み出しレジスタ13a〜13hは、バッ
ファ12a〜12hの読み出し用のレジスタ群であり、
ポート競合検出の対象レジスタである。出力要素検出回
路16は、出力ポート対応のセレクタ14a〜14dの
選択条件を生成している。ポート競合検出回路17は、
読み出しレジスタ13a〜13hの各要素のポート競合
を検出する回路であり、またバッファ12a〜12h、
および読み出しレジスタ13a〜13hの制御を行って
いる。出力レジスタ15a〜15dは、出力ポート(こ
の例では4ポート)対応のレジスタ群であり、セレクタ
14a〜14dで選択された要素を格納する。
【0015】図2は、例としてベースアドレスを“0”
ディスタンスを“4”とした、4バイトのベクトルスト
ア命令の各要素のアドレスと各要素が出力される出力ポ
ートの関係を示したものである。4バイトのベクトルス
トア命令では要素番号の連続する2つの要素が、同一出
力ポートへ出力されることがわかる。
【0016】次に、図2に示したリクエスト発行時にお
ける第1の実施例の動作を説明する。要素0〜3の4要
素は、入力ポート0〜3より入力して、入力レジスタ1
1a〜11dにそれぞれ格納される。次のタイミングで
は入力ポートには要素4〜7の4要素が送られて来てお
り、以降各タイミング毎に、4要素ずつ連続的に発行さ
れ、連続的に入力レジスタ11a〜11dに格納され
る。
【0017】最初の4要素、要素0〜3は、バッファ1
2a〜12dを介して、読み出しレジスタ13a〜13
dに要素番号順に格納される。それまでは、読み出しレ
ジスタ13e〜13hには、有効な要素は格納されてい
なかった。ここで、ポート競合検出回路17により、要
素0〜3を対象にポート競合検出が行われる。図2に示
したとおり、要素0、1はともに出力ポート0、要素
2、3は共に出力ポート1に出力されるので、要素0と
1の間および要素2と3の間でそれぞれポート競合が発
生する。ポート競合が発生した場合、出力ポートには1
つの要素のみが出力可能なので、競合の発生した要素の
中で、要素番号が最も小さい要素を優先させ出力する。
このとき、その他の要素は出力できないので、読み出し
レジスタ13a〜13dにおいて出力を待たされる。つ
まり、要素0、2は出力されて出力レジスタ15a、1
5bに格納され、要素1、3は読み出しレジスタ13
b、13dでホールドする。
【0018】このとき次の4要素である要素4〜7はバ
ッファ12e〜12hを介して、読み出しレジスタ13
e〜13hに格納する。そして前のタイミングで競合に
敗れた要素1,3および要素4〜7が次のポート競合検
出の対象要素となる。図2より各要素の出力ポートをみ
ると、要素4と5、要素6と7がそれぞれポート競合し
ていることがわかる。したがって出力ポートへ向かう要
素は要素1,3,4,6の4要素となり、要素5,7
は、ポート競合検出回路17により、競合が検出され、
読み出しレジスタ13f,13hでホールドされ待たさ
れる。
【0019】次のタイミングでは残りの要素5,7が出
力される。このとき、後続の要素は、最初の8要素を出
力するのに3Tかかっているので、1T分、つまり4要
素がバッファに残っている。したがって4Tめ以降のタ
イミングでは、常に8要素がポート競合検出の対象要素
となり、ポート競合により常に4要素の出力となる。
【0020】図3は、図2で与えられたベクトルストア
命令時における本実施例の動作の様子を示したものであ
り、要素0,2が出力レジスタ15a〜15dに到着し
たタイミングを1としたときの各要素の出力レジスタ1
5a〜15dへの到着タイミングごとに、ポート競合検
出対象要素および出力要素数を示している。図3よりタ
イミング1,2,3は出力要素数が2,4,2となり、
スループットは最大スループットより落ちるが、タイミ
ング4以降の要素8以降は出力要素数は4要素となり、
入力要素数と等しくなり、最大スループットとなること
がわかる。
【0021】図4は本発明の第2の実施例を示すブロッ
ク図であり、本実施例も第1の実施例と同様に、並列に
8バイト単位のデータ転送を行うことが可能である。本
実施例における入力レジスタ21a〜21d,バッファ
21a〜22h,読み出しレジスタ23a〜23h,セ
レクタ24a〜24d,出力レジスタ25a〜25d,
出力要素検出回路26,ポート競合検出回路27は、そ
れぞれ第1の実施例における入力レジスタ11a〜11
d,バッファ12a〜12h,読み出しレジスタ13a
〜13h,セレクタ14a〜14d,出力レジスタ15
a〜15d,出力要素検出回路16,ポート競合検出回
路17に相当する。
【0022】本実施例では、そのうえに、ポート競合発
生時、読み出しレジスタ23a〜23hに格納する要素
の並び代えを行う要素アライン回路28が付加されてい
る。ここで、ポート競合の検出において、例として4要
素を1つのブロックとしている。つまり、読み出しレジ
スタ23a〜23dに格納された要素を1ブロック、読
み出しレジスタ23e〜23hに格納された要素を1ブ
ロックとして、各ブロック単位に出力済みか、ポート競
合により出力未かを判断し、ブロック内の全要素が出力
済みとなったことを検出して、要素アライン回路によっ
て、全要素出力済みとなったブロックをシフトして、後
続ブロックを、ポート競合検出対象レジスタに格納する
動作を行う。
【0023】次に、図2に示したリクエスト発行時にお
ける第2の実施例の動作を説明する。
【0024】本実施例の特徴は、タイミング2におい
て、競合に敗れた要素5,7は、要素アライン回路28
の機能により、読み出しレジスタ23f,23hではな
く23b,23dに格納され、この結果、要素5,7の
出力を待つことなく、後続ブロックの要素8〜11がレ
ジスタ23e〜23hに格納され、次回のポート競合検
出対象要素となることにある。この結果により、次のタ
イミングでは要素5,7および要素8,10が出力され
る。以降同様にブロック単位のシフトが行われ、毎タイ
ミング4要素ずつ出力される。
【0025】以上の動作の様子は、図2で与えられたベ
クトルストア命令に対する本実施例の動作を示す図5を
参照することにより、一層明らかになるであろう。図5
によると、タイミング1では出力要素数が2であるが、
それ以降のタイミングでは、出力要素数は4要素とな
り、入力要素数と等しくなり、最大スループットとなる
ので、第2の実施例は第1の実施例を更に改良したもの
であることがわかる。
【0026】以上のように、本発明ではベクトルのメモ
リアクセス命令のスループットが向上する。また、実施
例では入力4ポート、出力4ポートとしたが、いかなる
ポート数でも同様に対応できることは明らかである。さ
らに、拡張を入力4ポートの2倍の8ポートとしてが、
これも任意の入力ポートの倍数にすることが可能であ
る。また実施例ではベクトルストア命令としたが、ロー
ド命令でも同様に実現できる。
【0027】
【発明の効果】以上説明したように本発明はベクトル処
理装置において、ベクトルロード、ストア命令のポート
競合発生時に、入力ポートを疑似的に拡張する手段を設
けることにより、ポート競合検出対象要素が増え、これ
によりポート競合が起こっても、出力可能な要素が増
え、スループットが向上するという効果を有する。例え
ば、4バイトのベクトルのメモリアクセス命令の場合、
スループットが約2倍にも向上する。
【図面の簡単な説明】
【図1】本発明の第1の実施例のベクトル処理装置のブ
ロック図である。
【図2】ベクトルストア命令時における各要素のアドレ
スおよび出力ポートを示す図である。
【図3】本発明の第1の実施例の動作を説明するための
タイミング図である。
【図4】本発明の第2の実施例のベクトル処理装置のブ
ロック図である。
【図5】本発明の第2の実施例の動作を説明するための
タイミング図である。
【図6】従来例のベクトル処理装置のブロック図であ
る。
【図7】従来例の動作を説明するためのタイミング図で
ある。
【符号の説明】
11a〜11d 入力レジスタ 12a〜12h バッファ 13a〜13h 読み出しレジスタ 14a〜14d セレクタ 15a〜15d 出力レジスタ 16 出力要素検出回路 17 ポート競合検出回路 21a〜21d 入力レジスタ 22a〜22d バッファ 23a〜23d 読み出しレジスタ 24a〜24d セレクタ 25a〜25d 出力レジスタ 26 出力要素検出回路 27 ポート競合検出回路 31a〜31d 入力レジスタ 32a〜32h バッファ 33a〜33h 読み出しレジスタ 34a〜34d セレクタ 35a〜35d 出力レジスタ 36 出力要素検出回路 37 ポート競合検出回路 38 要素アライン回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ベクトル要素ごとにベクトル演算を行う
    1つ以上のベクトル演算部と、複数バイトのデータを最
    小リクエスト単位として並列動作が可能な複数のメモリ
    モジュールで構成される主記憶部と、前記ベクトル演算
    部と前記主記憶部間で出力ポートを介して前記ベクトル
    要素ごとにデータ転送を制御するメモリアクセス制御部
    を備えたベクトル処理装置において、前記メモリアクセ
    ス制御部は、 前記ベクトル演算部からパイプライン方式で入力するベ
    クトル要素を保持するn個(n≧1)の入力レジスタ
    と、 各組が前記入力レジスタの保持内容をn個のベクトル要
    素単位に、かつ要素番号順に格納するm組のバッファ
    と、 前記m組のバッファからクロックに応答して読み出され
    たベクトル要素を保持するm×n個の読み出しレジスタ
    と、 前記各読み出しレジスタに保持されたベクトル要素につ
    いて、ベクトル要素のビット幅が前記最小アクセス単位
    以下であるときに発生する前記出力ポートの競合を検出
    するポート競合検出回路と、 前記競合が検出されると競合するベクトル要素のうちで
    前記要素番号の最小のものを検出する出力要素検出回路
    と、 該出力要素の検出に応答して前記読み出しレジスタから
    当該ベクトル要素を選択する前記出力ポートと同数のセ
    クレタとを設けたことを特徴とするベクトル処理装置。
  2. 【請求項2】 前記出力ポートの競合に敗れた残余のベ
    クトル要素を、後続入力のベクトル要素に対して格納エ
    リアを提供するように、前記組単位でシフトして前記バ
    ッファから前記読み出しレジスタに移送する要素アライ
    ン回路を付加したことを特徴とする請求項1記載のベク
    トル処理装置。
JP6226484A 1994-09-21 1994-09-21 ベクトル処理装置 Expired - Fee Related JP2704121B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6226484A JP2704121B2 (ja) 1994-09-21 1994-09-21 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6226484A JP2704121B2 (ja) 1994-09-21 1994-09-21 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPH0895956A true JPH0895956A (ja) 1996-04-12
JP2704121B2 JP2704121B2 (ja) 1998-01-26

Family

ID=16845829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6226484A Expired - Fee Related JP2704121B2 (ja) 1994-09-21 1994-09-21 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JP2704121B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175970A (ja) * 1987-01-16 1988-07-20 Hitachi Ltd 記憶制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63175970A (ja) * 1987-01-16 1988-07-20 Hitachi Ltd 記憶制御方式

Also Published As

Publication number Publication date
JP2704121B2 (ja) 1998-01-26

Similar Documents

Publication Publication Date Title
EP1345125B1 (en) Dynamic random access memory system with bank conflict avoidance feature
US5740402A (en) Conflict resolution in interleaved memory systems with multiple parallel accesses
US4685076A (en) Vector processor for processing one vector instruction with a plurality of vector processing units
US5522059A (en) Apparatus for multiport memory access control unit with plurality of bank busy state check mechanisms employing address decoding and coincidence detection schemes
US5201058A (en) Control system for transferring vector data without waiting for transfer end of the previous vector data
CA2117506C (en) Return address adding mechanism for use in parallel processing system
JPH0895956A (ja) ベクトル処理装置
US6795874B2 (en) Direct memory accessing
KR20010006787A (ko) 데이터 처리 프로세서 및 시스템
JP3005456B2 (ja) ベクトル処理装置
US5251309A (en) System for measuring the efficiency of accessing vector elements using interelement distance of vector data or bank conflicts
US5099416A (en) An operand storage compare (osc) detecting device using column and row signals in a buffer storage
EP0700005B1 (en) Vector data bypass mechanism for vector computer
EP0323080B1 (en) Multiprocessor memory access control system
JPH10333979A (ja) バンクアクセス制御方式
JP2005235216A (ja) ダイレクト・メモリ・アクセス制御
JP3245488B2 (ja) リストベクトル処理装置
EP1251431A2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory banks
JPS6024976B2 (ja) メモリ・アクセス制御方式
JP3068427B2 (ja) メッセージ制御装置
JPH09269937A (ja) プロセッサ間通信におけるパケット送信方法およびその装置
JP2972568B2 (ja) バス拡張装置
JPH02143361A (ja) 処理順序決定回路
JPH09231203A (ja) ベクトルストア追い越し制御回路
JP3063501B2 (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: 19970909

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081003

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091003

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees