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

ベクトル処理装置

Info

Publication number
JP3005456B2
JP3005456B2 JP7150213A JP15021395A JP3005456B2 JP 3005456 B2 JP3005456 B2 JP 3005456B2 JP 7150213 A JP7150213 A JP 7150213A JP 15021395 A JP15021395 A JP 15021395A JP 3005456 B2 JP3005456 B2 JP 3005456B2
Authority
JP
Japan
Prior art keywords
port
vector
output
odd
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.)
Expired - Fee Related
Application number
JP7150213A
Other languages
English (en)
Other versions
JPH096759A (ja
Inventor
康宏 井川
Original Assignee
甲府日本電気株式会社
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 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
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

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

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 アービタ
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/16 G06F 12/06

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 ベクトル要素ごとにベクトル演算を行う
    複数のベクトル演算部と、複数のバンクを有し、独立に
    アクセス可能な複数のポートを有するメモリモジュール
    で構成される複数の主記憶部と、前記ベクトル演算部と
    前記主記憶部間で複数のデータ転送が前記主記憶部にお
    ける各ポートのバイト幅単位に独立に行えるメモリアク
    セス制御部を備えるベクトル処理装置に於いて、前記
    メモリアクセス制御部は、 前記ベクトル演算部からのベクトル要素リクエストを要
    素番号順に格納するn個(n≧2)の入力レジスタと、これらn個の 入力レジスタからの前記ベクトル要素リク
    エストそれぞれ格納するn個の入力バッファと、これらn個の 入力バッファからの前記ベクトル要素リク
    エストをそれぞれ格納するn個の読み出しレジスタと、 前記読み出しレジスタに保持されたn個の前記ベクトル
    要素リクエストのうち入力ポートが偶数の要素のみ競合
    調停を行う偶数ポートアービタと、 前記読み出しレジスタに保持されたn個の前記ベクトル
    要素リクエストのうち入力ポートが奇数の要素のみ競合
    調停を行う奇数ポートアービタと、 前記偶数アービタにより競合調停された各ベクトル要素
    リクエストを、アドレスにより所定の出力ポートに転送
    する偶数ポートクロスバと、 前記奇数アービタにより競合調停された各ベクトル要素
    リクエストを、アドレスにより所定の出力ポートに転送
    する奇数ポートクロスバと、 前記偶数ポートクロスバと前記奇数ポートクロスバとか
    ら転送された最大2つのベクトル要素リクエストのう
    ち、前記偶数ポートクロスバから転送されたベクトル要
    素リクエストが先に出力されるように前記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 JPH096759A (ja) 1997-01-10
JP3005456B2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033862A1 (ja) * 2009-09-15 2011-03-24 日本電気株式会社 情報処理装置およびデータ転送方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026371A1 (en) * 2004-07-30 2006-02-02 Chrysos George Z Method and apparatus for implementing memory order models with order vectors
KR101388134B1 (ko) 2007-10-01 2014-04-23 삼성전자주식회사 뱅크 충돌 방지 장치 및 방법
JP5549179B2 (ja) * 2009-10-26 2014-07-16 日本電気株式会社 データアクセス装置、データアクセス制御方式、及び、データアクセス制御プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768800B2 (ja) * 1990-04-13 1998-06-25 株式会社日立製作所 計算機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011033862A1 (ja) * 2009-09-15 2011-03-24 日本電気株式会社 情報処理装置およびデータ転送方法

Also Published As

Publication number Publication date
JPH096759A (ja) 1997-01-10

Similar Documents

Publication Publication Date Title
US8510480B2 (en) Memory system and method having uni-directional data buses
JPH0550018B2 (ja)
JP2561261B2 (ja) バッファ記憶アクセス方法
EP0223607B1 (en) Vector processing system
JP3005456B2 (ja) ベクトル処理装置
US5099416A (en) An operand storage compare (osc) detecting device using column and row signals in a buffer storage
EP0372231B1 (en) Vector processor
JP2731761B2 (ja) ネットワーク制御装置
JP3265226B2 (ja) バンクアクセス制御方式
JP3245488B2 (ja) リストベクトル処理装置
US5822766A (en) Main memory interface for high speed data transfer
JPS6024976B2 (ja) メモリ・アクセス制御方式
JPH07319829A (ja) データ転送方法
JP2704121B2 (ja) ベクトル処理装置
JP3063501B2 (ja) メモリアクセス制御方式
JP4306997B2 (ja) データ制御装置及びatm制御装置
JP3068427B2 (ja) メッセージ制御装置
JP2531207B2 (ja) チャネル装置
JP2803616B2 (ja) 入出力バスインタフェース制御方式
JPS616746A (ja) 部分書込み制御方式
JPH1185605A (ja) 記憶制御装置
JPH0944459A (ja) ネットワーク装置
JPH0660007A (ja) 半導体記憶装置
JPH0368045A (ja) 主記憶制御方式
JPH07219845A (ja) キャッシュメモリ制御方式

Legal Events

Date Code Title Description
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: 20071119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees