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

ベクトル処理装置

Info

Publication number
JPH096759A
JPH096759A JP15021395A JP15021395A JPH096759A JP H096759 A JPH096759 A JP H096759A JP 15021395 A JP15021395 A JP 15021395A JP 15021395 A JP15021395 A JP 15021395A JP H096759 A JPH096759 A JP H096759A
Authority
JP
Japan
Prior art keywords
vector
output
port
arbiter
crossbar
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
JP15021395A
Other languages
English (en)
Other versions
JP3005456B2 (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 JP7150213A priority Critical patent/JP3005456B2/ja
Publication of JPH096759A publication Critical patent/JPH096759A/ja
Application granted granted Critical
Publication of JP3005456B2 publication Critical patent/JP3005456B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】ベクトルのメモリアクセス命令において、出力
ポート競合による遅れをなくすことによってスループッ
トを向上させる。 【構成】複数個の演算装置、主記憶装置、複数個のメモ
リアクセス処理部からなるベクトル処理装置において、
ベクトルのメモリアクセス命令発行時、メモリアクセス
制御部に、入力ポートの偶数入力ポートと奇数入力ポー
トについて、それぞれ独立に出力ポートの競合調停を行
う偶数ポートアービタ16a,奇数ポートアービタ16
bを設け、さらに出力ポート対応に、最大2つの要素を
同時に格納可能なバッファ15a〜15dを設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はベクトル処理装置に関す
る。
【0002】
【従来の技術】一般に、ベクトル処理装置は、主記憶装
置とレジスタあるいは演算器との間で大量のデータを高
速に処理するために、ベクトル演算部から同一タイミン
グにおいて複数のデータを同時にメモリアクセス制御部
に連続的に供給して、高速化を実現している。
【0003】従来この種のベクトル処理装置は、図2に
示すように、図示省略したベクトル演算部からの、各ベ
クトル要素リクエスト単位の4つの入力ポート、各入力
ポート毎の入力レジスタ21a〜21d、また、ポート
競合発生時の緩衝用に、同一動作するバッファ22a〜
22d、バッファの読み出しレジスタ23a〜23d、
ポート競合の検出、バッファ制御及びクロスバ制御を行
うアービタ26、アービタ26の制御信号により、各出
力ポートの入力要素を選択するクロスバ24及び出力ポ
ート対応の出力レジスタ25a〜25dを有している。
【0004】この従来のベクトル処理装置は、主記憶装
置が8バイトを1ポートとしてインタリーブされてお
り、最小アクセス単位は8バイトのアクセスであり、4
バイトメモリアクセス命令も、8バイト単位に行ってい
る。
【0005】図3(A)は従来例及び本願発明を説明す
るためのベクトルロード/ストア命令時における各ベク
トル要素(以下、要素と記す)のアドレスと、各要素が
出力されるポートを要素毎に示す。図3(A)におい
て、ベクトル命令のベースアドレスを”0”、ディスタ
ンスを”4”とすると、要素0,1、要素2,3、・・
・、と連続2要素ずつが出力ポートとなることがわか
る。
【0006】次に、図3(A)のベクトル命令時におけ
る従来のベクトル処理装置(図2)の動作を説明する。
先ず、入力レジスタ21a〜21dにはそれぞれ要素0
から順番に、4要素ごとに連続的に格納される。あるタ
イミングで読み出しレジスタ23a〜23dに格納され
た要素0〜3に対して、アービタ26によりポート競合
の検出が行われる。この場合、要素0,1はそれぞれ出
力ポート0に、要素2、3はそれぞれ出力ポート1に向
かうので、ポート競合が発生することになる。ポート競
合が発生した場合、競合した要素の優先順位の高い要素
(要素番号の最も小さい要素)がアービタ26により検
出され、クロスバ24の出力ポート0用セレクタは読み
出しレジスタ23aの要素0、クロスバ24の出力ポー
ト1用セレクタでは読み出しレジスタ23cの要素2が
それぞれ選択され、出力レジスタ25a,25に格納さ
れる。
【0007】この時アービタ26からは、競合が発生し
たことによるホールド要求が出され、読み出しレジスタ
23a〜23dはホールドし、バッファ22a〜22d
はバッファのリードアドレスをホールドし、ホールド要
求が解除されるまでその状態を保つことになる。つま
り、連続液に入力レジスタ21a〜21dに入力してく
る要素は、バッファ22a〜22dに、同一タイミング
のリクエストは各バッファの同一ワードにバッファリン
グされていくことになる。これは同一命令内の各要素
間、あるいは命令間において、同一アドレスへメモリア
クセスする順序を守るために行われる処理である。
【0008】競合に敗れて残った要素1,3に対して
は、次のタイミングで競合検出が行われ、今度は、ポー
ト競合は発生しないのでアービタ26からのホールド要
求は解除され、読み出しレジスタ23a〜23dは次の
タイミングで要素4〜7の4要素が格納される。以降、
同様な処理が全ての要素の終了まで行われる。
【0009】図5(A)は上記動作を示したタイミング
図であり、要素0,2が出力ポート25a〜25dに到
着するタイミングを1とした時の各要素の出力ポート到
着タイミングを示している。また1つのタイミングにお
ける、ポート競合検出対象要素、および出力ポートレジ
スタ到着要素数も示している。図3(A)のベクトル命
令の場合、ポート競合により、各タイミングに4要素ず
つの入力に対して、出力2が要素ずつであることがわか
る。これは最大スループット1/2となる。
【0010】図3(B)は、従来例および本願発明を説
明するために、図3(A)の場合に対してディスタンス
のみを12とした場合の、ベクトルロード/ストア命令
時における各ベクトル要素のアドレスと、各要素が出力
される出力ポートを要素毎に示す。
【0011】図3(B)の場合における図2の従来例の
タイミング図は図5(B)のようになる。
【0012】
【発明が解決しようとする課題】上述した従来のベクト
ル処理装置では、4バイトのベクトルロード、ストア命
令(ディスタンスが4バイトの奇数倍のケース)におい
て、スループットが最大値の1/2となってしまい、ベ
クトルロードおよびストア命令の、主メモリのアクセス
時間に深刻な性能低下を引き起こすという欠点がある。
【0013】
【課題を解決するための手段】本発明のベクトル処理装
置は、ベクトル要素ごとにベクトル演算を行う複数のベ
クトル演算部と、複数のバンクを有し、独立にアクセス
可能な複数のポートを有するメモリモジュールで構成さ
れる複数の主記憶部と、前記ベクトル演算部と前記主記
憶部間で複数のデータ転送が前記主記憶部における各ポ
ートのバイト幅単位に独立に行えるメモリアクセス制御
部を備えるベクトル処理装置に於いて、前記メモリアク
セス制御部に、前記ベクトル演算部から、パイプライン
方式で入力するベクトル要素単位、かつ要素番号順のベ
クトル要素リクエストを保持するn個(n≧2)の入力
レジスタと、前記入力レジスタに対応して保持内容を格
納するn個の入力バッファと、前記入力バッファから読
み出したベクトル要素単位のリクエストを格納するn個
の読み出しレジスタと、前記読み出しレジスタに保持さ
れたn個のベクトル要素リクエストについて、要素番号
の競合調停を行う偶数アービタ、奇数アービタと、前記
偶数アービタ、奇数アービタにより競合調停された各ベ
クトル要素リクエストデータを、アドレスによるベクト
ル要素リクエスト指定の出力ポートへ送る偶数クロス
バ、奇数クロスバと、前記偶数クロスバ、奇数クロスバ
から最大2つのベクトル要素リクエストデータにつき、
偶数クロスバデータを、出力する順番が先になるように
優先して、同時に格納することが可能な、前記出力ポー
トに対応の出力バッファを設けたことを特徴とするベク
トル処理装置。
【0014】
【実施例】以下、図面を用いて本発明の実施例について
詳述する。
【0015】図1は本発明の一実施例を示すブロック図
であり、本ベクトル処理装置は8バイト単位に並列にデ
ータ転送が可能である。
【0016】図1において、4つの入力レジスタ11a
〜11dは図示省略したベクトル演算部からのベクトル
ロード/ストアリクエスト受けるレジスタであり、各要
素単位の複数(例として4要素)のリクエストが要素番
号順に入力ポート0〜3に転送される。
【0017】4つのバッファ12a〜12dは、出力ポ
ート競合による待ち合わせが起きたときに連続的にベク
トル演算部から発行されるリクエストの緩衝用のバッフ
ァであり、全てのバッファはリードアドレスおよびライ
トアドレスが共通で、同一動作をする。
【0018】4つの読み出しレジスタ13a〜13d
は、バッファ12a〜12dの読み出し用のレジスタで
あり、出力ポート競合検出の対象となる。
【0019】偶数ポートアービタ16aは入力ポートが
偶数(ポート0,2…読み出しレジスタ13a,13
c)の要素のみを対象とした出力ポート競合調停回路で
であり、奇数ポートアービタ16bは、入力ポートが奇
数(ポート1,3…読み出しレジスタ13b,13d)
の要素のみを対象とした出力ポート競合調停回路であ
り、それぞれのアービタは独立に動作する。これは、例
えば入力ポート0のベクトル要素リクエストと、入力ポ
ート1のベクトル要素がリクエストが同一出力ポートへ
向かったとしても、アービタが異なるので強豪は発生し
ていないようにみえ、出力ポート競合は検出せず、両方
のリクエストが出力可能となることを意味する。
【0020】また、偶数ポートアービタ16a,奇数ポ
ートアービタ16bにおいて、どちらかのアービタで出
力ポート競合が検出された場合は、読み出しレジスタ1
3a〜13bおよびバッファ12a〜12dのリードア
ドレスを、全ての出力ポート競合がなくなるまでホール
ドとして、後続リクエストのアービタ参加を抑止する。
これは命令内の各要素間、あるいは命令間の要素間にお
いて、同一アドレスへのアクセスする順序を守るための
処理である。
【0021】偶数ポートクロスバ14aは、偶数ポート
アービタ16aによって制御され、出力ポート競合調停
結果により偶数入力ポートのベクトル要素リクエストの
みを出力ポート(例では4ポート)へ転送している。奇
数クロスバ14bは、同様に、奇数ポートアービタ16
bによって制御され、奇数入力ポートのベクトル要素リ
クエストのみを出力ポートへ転送している。
【0022】出力バッファ15a〜15dは、それぞれ
出力ポートに対応して設けられ、1つの出力バッファ
は、偶数ポートクロスバ14aと、奇数ポートクロスバ
14bのそれぞれから送られる、最大2つのベクトル要
素リクエストを同時に格納可能なバッファであり、常
に、偶数ポートクロスバからのベクトル要素リクエスト
を、出力する順番が先になるように優先して格納してい
る。
【0023】本実施例の動作を説明するために、再び図
3を使用する。
【0024】図4(A)は図3(A)に示したベクトル
ロード/ストア命令時における各べクトル要素のアドレ
スと、各要素が出力される出力ポートの関係下における
本発明でのベクトル要素リクエストの出力状況を示して
いる。この動作を図1を参照して詳細に説明する。
【0025】要素0〜3の4要素は、入力ポート0〜3
より入力して、入力レジスタ11a〜11dに要素番号
順にそれぞれ格納される。次のタイミングでは入力ポー
トには要素4〜7の4要素が送られてきており、以降各
タイミング毎に、4要素ずつ連続的にパイプラン方式で
送られ、入力レジスタ11a〜11dに順次格納され
る。
【0026】最初の4要素、要素0〜3は、バッファ1
2a〜12dを介して読み出しレジスタ13a〜13d
に要素番号順に格納される。それまでは読み出しレジス
タ13a〜13dには、有効な要素は格納されていなか
った。ここで、奇数ポートアービタ16aと偶数ポート
アービタ16bで出力ポート競合がそれぞれチェックさ
れる。偶数ポートアービタ16aは、読み出しレジスタ
の偶数ポート(ポート0,2・・・13a,13c)に
格納した要素0,2のそれぞれの出力ポートをチェック
する。この場合、図3(A)より要素0は出力ポート
0、要素2は出力ポート1なので出力ポート競合は発生
しないので要素0,2それぞれの要素をクロスバ14a
により要素0はポート0、要素2は出力ポート1へ送る
制御を行う。一方、奇数ポートアービタ16bは、読み
出しレジスタの奇数ポート(ポート1,3・・・13
b,13d)に格納した要素1,3のそれぞれの出力ポ
ートをチェックする。
【0027】この場合、図3(A)より要素1は出力ポ
ート0、要素3は出力ポート1なので出力ポート競合は
発生しないため、要素1,3それぞれの要素をクロスバ
14bにより要素1は出力ポート0、要素3は出力ポー
ト1へ送る制御を行う。ここで、偶数ポートアービタ1
6aと、奇数ポートアービタ16bはそれぞれ出力ポー
ト競合を検出しなかったので、ホールドは発生せず、読
み出しレジスタ13a〜13dには、次のタイミングに
後続要素の要素4〜7を格納することになる。
【0028】一方、出力ポート0に対応する出力バッフ
ァ15aには、偶数クロスバ14aから要素0、奇数ク
ロスバから要素1が送られる。ここで出力バッファ14
aは、偶数ポートクロスバからの要素0を、出力する順
番が先になるようにして格納し、奇数ポートクロスバか
らの要素1を、要素0の次の順番で出力するように格納
する。同様に、出力ポート1に対応する出力バッファ1
5bには、偶数クロスバ14aから要素2、奇数クロス
バから要素3が送られる。ここで出力バッファ14b
は、偶数ポートクロスバからの要素2を、出力する順番
が先になるようにして格納し、奇数ポートクロスバから
の要素3を、要素0の次の順番で出力するように格納す
る。そして次のタイミングに出力ポート0から要素0、
出力ポート1から要素2が出力し、要素1、要素3は次
のタイミングで出力するようになる。
【0029】また、同様に後続の要素4〜7は、偶数ポ
ートアービタで競合調停されるが、出力ポート競合は検
出されない。以降の要素も図3(A)の各要素の出力ポ
ートからもわかるように、出力ポート競合は検出されず
に、毎タイミングに4要素ずつが読み出しレジスタ13
a〜13dに格納されて、処理されていく。この様子は
図3(C)に示したが、要素0,2が出力されるタイミ
ングを1とすると、タイミング2において出力バッフア
15a、15bに残った要素1,3が出力し、同時に後
続の要素4,6が出力しており、最初の2要素の出力以
降は、毎タイミング4要素が出力することになり、24
要素全てが出力するのがタイミング7となる。これは従
来構成の場合と比較して大幅なスループットの向上とな
り、要素が大きくなればなるほど、最大スループット
(1タイミングに4要素出力)に近づくことがわかる。
【0030】図4(B)は図3(B)の場合における本
実施例のタイミング図であり、図5(B)と対比するこ
とにより、本発明は従来の構成に比べ、大幅なスループ
ットの向上があることがわかる以上のように、本発明で
はベクトルのメモリアクセス命令のスループットが向上
する。また、実施例では入力4ポート、出力4ポートと
したが、いかなるポート数でも同様に対応できることは
明らかである。さらに、ディスタンスを図3(A)では
4バイト(4バイト×1)、図3(B)では12(4バ
イト×3)バイトとしたが、4バイトメモリアクセス命
令のディスタンスが(4バイト×奇数)では同様に、従
来技術よりもスループットが向上する。
【0031】
【発明の効果】以上説明したように本発明のベクトル処
理装置によれば、ベクトルロード、ストア命令の出力ポ
ート競合の発生を抑えるように、競合調停を偶数ポート
対象の競合調停回路と、奇数ポート対象の競合調停回路
に分割したため、競合調停でのスープットの低下を抑止
し、これによりスループットが向上するという効果を有
する。例えば、4バイトのベクトルのメモリアクセスの
命令の場合、スループットが約2倍にも向上する。
【図面の簡単な説明】
【図1】本発明の一実施例のベクトル処理装置を示すブ
ロック図である。
【図2】従来のベクトル処理装置の一例を示すブロック
図である。
【図3】本発明の動作を説明するためのタイミング図で
ある。
【図4】本発明の実施例の動作を説明するためのタイミ
ング図である。
【図5】従来例の動作を説明するためのタイミング図で
ある。
【符号の説明】
11a〜11d 入力レジスタ 12a〜12d 入力バッファ 13a〜13d 読み出しレジスタ 14a 偶数ポートクロスバ 14b 奇数ポートクロスバ 15a〜15d 出力バッファ 16a 偶数ポートアービタ 16b 奇数ポートアービタ 21a〜21d 入力レジスタ 22a〜22d 入力バッファ 23a〜23d 読み出しレジスタ 24 クロスバ 25a〜25d 出力レジスタ 26 アービタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ベクトル要素ごとにベクトル演算を行う
    複数のベクトル演算部と、複数のバンクを有し、独立に
    アクセス可能な複数のポートを有するメモリモジュール
    で構成される複数の主記憶部と、前記ベクトル演算部と
    前記主記憶部間で複数のデータ転送が前記主記憶部にお
    ける各ポートのバイト幅単位に独立に行えるメモリアク
    セス制御部を備えるベクトル処理装置に於いて、前記メ
    モリアクセス制御部に、 前記ベクトル演算部から、パイプライン方式で入力する
    ベクトル要素単位、かつ要素番号順のベクトル要素リク
    エストを保持するn個(n≧2)の入力レジスタと、 前記入力レジスタに対応して保持内容を格納するn個の
    入力バッファと、 前記入力バッファから読み出したベクトル要素単位のリ
    クエストを格納するn個の読み出しレジスタと、 前記読み出しレジスタに保持されたn個のベクトル要素
    リクエストについて、要素番号の競合調停を行う偶数ア
    ービタ、奇数アービタと、 前記偶数アービタ、奇数アービタにより競合調停された
    各ベクトル要素リクエストデータを、アドレスによるベ
    クトル要素リクエスト指定の出力ポートへ送る偶数クロ
    スバ、奇数クロスバと、 前記偶数クロスバ、奇数クロスバから最大2つのベクト
    ル要素リクエストデータにつき、偶数クロスバデータ
    を、出力する順番が先になるように優先して、同時に格
    納することが可能な、前記出力ポートに対応の出力バッ
    ファを設けたことを特徴とするベクトル処理装置。
JP7150213A 1995-06-16 1995-06-16 ベクトル処理装置 Expired - Fee Related JP3005456B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7150213A JP3005456B2 (ja) 1995-06-16 1995-06-16 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7150213A JP3005456B2 (ja) 1995-06-16 1995-06-16 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPH096759A true JPH096759A (ja) 1997-01-10
JP3005456B2 JP3005456B2 (ja) 2000-01-31

Family

ID=15492012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7150213A Expired - Fee Related JP3005456B2 (ja) 1995-06-16 1995-06-16 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JP3005456B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388186C (zh) * 2004-07-30 2008-05-14 英特尔公司 用排序向量实施存储器排序模型的方法与设备
JP2011090600A (ja) * 2009-10-26 2011-05-06 Nec Corp データアクセス装置、データアクセス制御方式、及び、データアクセス制御プログラム
US8214617B2 (en) 2007-10-01 2012-07-03 Samsung Electronics Co., Ltd. Apparatus and method of avoiding bank conflict in single-port multi-bank memory system
JP5423801B2 (ja) * 2009-09-15 2014-02-19 日本電気株式会社 情報処理装置およびデータ転送方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03296154A (ja) * 1990-04-13 1991-12-26 Hitachi Ltd 計算機システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03296154A (ja) * 1990-04-13 1991-12-26 Hitachi Ltd 計算機システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100388186C (zh) * 2004-07-30 2008-05-14 英特尔公司 用排序向量实施存储器排序模型的方法与设备
US8214617B2 (en) 2007-10-01 2012-07-03 Samsung Electronics Co., Ltd. Apparatus and method of avoiding bank conflict in single-port multi-bank memory system
JP5423801B2 (ja) * 2009-09-15 2014-02-19 日本電気株式会社 情報処理装置およびデータ転送方法
JP2011090600A (ja) * 2009-10-26 2011-05-06 Nec Corp データアクセス装置、データアクセス制御方式、及び、データアクセス制御プログラム

Also Published As

Publication number Publication date
JP3005456B2 (ja) 2000-01-31

Similar Documents

Publication Publication Date Title
JP4369660B2 (ja) バンク衝突回避機能を備える動的ランダムアクセスメモリシステム
US6745277B1 (en) Intelligent interleaving scheme for multibank memory
US7369133B1 (en) Apparatus, system, and method for a partitioned memory for a graphics system
US7574573B2 (en) Reactive placement controller for interfacing with banked memory storage
JP4124491B2 (ja) 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ
EP0460853B1 (en) Memory system
JP3005456B2 (ja) ベクトル処理装置
JP2644185B2 (ja) データ処理装置
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
CN107835134B (zh) 应用于以太网交换芯片的端口访问仲裁方法及装置
KR20010006787A (ko) 데이터 처리 프로세서 및 시스템
EP0372231B1 (en) Vector processor
JP2731761B2 (ja) ネットワーク制御装置
JP3245488B2 (ja) リストベクトル処理装置
JPS6024976B2 (ja) メモリ・アクセス制御方式
JP2704121B2 (ja) ベクトル処理装置
JPH07319829A (ja) データ転送方法
JPH06175911A (ja) メモリ制御方式
JP2005235216A (ja) ダイレクト・メモリ・アクセス制御
US20040111567A1 (en) SIMD processor with multi-port memory unit
JP2976700B2 (ja) プロセッサ間同期制御方式
JPH09269937A (ja) プロセッサ間通信におけるパケット送信方法およびその装置
JP3786182B2 (ja) ベクトルロード処理方式及びベクトルロード処理方法
JP3063501B2 (ja) メモリアクセス制御方式
JPS616746A (ja) 部分書込み制御方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20081119

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20091119

LAPS Cancellation because of no payment of annual fees