JPH0463430B2 - - Google Patents

Info

Publication number
JPH0463430B2
JPH0463430B2 JP58123245A JP12324583A JPH0463430B2 JP H0463430 B2 JPH0463430 B2 JP H0463430B2 JP 58123245 A JP58123245 A JP 58123245A JP 12324583 A JP12324583 A JP 12324583A JP H0463430 B2 JPH0463430 B2 JP H0463430B2
Authority
JP
Japan
Prior art keywords
vector
mask information
storage device
read
write
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
Application number
JP58123245A
Other languages
English (en)
Other versions
JPS6015771A (ja
Inventor
Koichiro Omoda
Shigeo Nagashima
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58123245A priority Critical patent/JPS6015771A/ja
Priority to DE8484107937T priority patent/DE3485166D1/de
Priority to EP84107937A priority patent/EP0131284B1/en
Priority to US06/629,042 priority patent/US4680730A/en
Publication of JPS6015771A publication Critical patent/JPS6015771A/ja
Publication of JPH0463430B2 publication Critical patent/JPH0463430B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はベクトル演算を高速に実行可能なベク
トルプロセツサに関し、特に、DOループ等の操
返し処理中に条件文を含む処理に於て、条件が不
成立となる処理での本来不要なベクトルデータを
削除し、効率良いメモリへのデータアクセスを行
なうベクトルプロセツサの記憶制御方式に関す
る。
〔発明の背景〕
第1図は科学技術計算で一般的に用いられてい
るFORTRANプログラムでの条件文を含むDOル
ープの1例である。
このDOループ処理は従来のベクトルプロセツ
サでは、第2図に示すような手順で行なわれてい
た。即ち、まず、主記憶に格納されたベクトルデ
ータA(1−n)を順次読出してベクトルレジス
タVR0(1−n)に格納する。
そして、VR0(1−n)を0.0と比較し、その結
果等しいとき1を、等しくないとき0をベクトル
マスクレジスタVMR0(1−n)の対応する要素
番号に順次格納する。次に、ベクトルデータC
(1〜n),D(1〜n)を主記憶から読出して、
各々、ベクトルレジスタVR1(1〜n),VR2(1
〜n)に格納する。
引続いて、VMR0(1〜n)を順次読出して、
値が1であればVR2(1〜n)の対応する要素番
号の内容をVR3(1〜n)の対応する要素番号に
格納し、値が0であればVR1(1〜n)の対応す
る要素番号の内容、VR3(1〜n)の対応する要
素番号に格納し、最後に、VR3(1〜n)を主記
憶上のオベランドB(1〜n)に書込む。
ここで、図中のの処理で、ベクトルデータC
(1〜n)の読出しに於て、VMR0(1〜n)のう
ち値が1に対応する要素の読出しデータは本来不
要であり、また、の処理でベクトルデータD
(1〜n)の読出しに於て、VMR0(1〜n)のう
ち値が0に対応する要素の読出しデータも本来不
要であるため、主記憶からの無駄な読出しが発生
してしまうという問題点があつた。
また、,の処理に於て、上述した如くベク
トルデータC(1〜n),D(1〜n)の読出しで
有効データのみをベクトルレジスタに格納でき、
また、の処理でベクトルレジスタVR2をVR1
換えれば、の処理は削除可能となる。
但し、この場合、の処理ではVR3をVR1にす
る必要がある。更に、の処理が削除可能と同時
に、使用するベクトルレジスタの個数も減少でき
るという効果もある。,のようにマスク情報
に基づいた主記憶からのデータ読出し処理を、マ
スク付きデータ読出しと呼ぶこととする。
〔発明の目的〕
従つて、本発明は上述した従来技術の問題点を
除去し、処理に必要なデータのみをベクトルレジ
スタに読出すように制御し、効率良いベクトルプ
ロセツサを提供することが目的である。
〔発明の概要〕
第3図は第1図の例題を本発明に基づく処理方
式で実行した場合の手順を示している。
図中、,,は、各々第2図の,,
と同様の処理である。但し、のVR3はでは
VR1となる。では、ベクトルデータC(1〜n)
の読出しに対して、ベクトルマスクレジスタ
VMR0(1〜n)でマススクの値が0である対応
する要素番号のデータのみ、即ち、有効なデータ
のみをベクトルレジスタVR1(1〜n)に格納し、
また、では、ベクトルデータD(1〜n)の読
出しに対して、VMR0(1〜n)でマスクの値が
1である対応する要素番号のデータのみをVR1
(1〜n)に格納する。そして、最後に、の処
理でVR1(1〜n)を主記憶上のオペランドB(1
〜n)に書込むようにすることにより、第1図と
等価な処理が可能となる。
〔発明の実施例〕
第4図は本発明の1実施例を示す概略構成図で
ある。図中、1−1はメモリ装置、1−1−1は
8個の異なつたバンクで構成されるメモリモジユ
ール、1−1−2はオーダパイプライン、1−1
−50はセレクタ、2−1は反転回路、2−2は
セレクタ、3−1はデコーダ、3−2はレジス
タ、3−3はプラス1回路、10はメモリリクエ
スタ、20はリクエストスタツク、30はメモリ
ポートである。
第5図は、主記憶1に格納されているベクトル
データA,1〜8を、マスクレジスタVMR0,1
〜8のマスク情報に基づいて読出して(VMR0
1〜8の値が1である対応するデータを読出す)
ベクトルレジスタVR0に格納する様子を示したも
のである。図中、1は主記憶、2はマスクレジス
タ群、3はベクトルレジスタ群である。ベクトル
A,1〜8の第2,第4,第5要素に対応するマ
クスレジスタVMR0の値が1のため、これらの要
素に対してのみ読出しを行なつてベクトルレジス
タVR0の対応する要素に格納すれば良く、その他
の要素については読出す必要がない。この第5図
に示した例題での処理をもとに以後の説明をす
る。
メモリリクエスタ10から出力されるリクエス
ト信号、メモリアドレス、ストアデータ(主記憶
からの読出しであれば不要)、リクエストオーダ
(読出し/書込み識別情報)は、一旦、リクエス
トタツク20にスタツクされ、要素番号の低い順
に順次メモリポート30を経由してメモリ装置1
−1に転送されるが、これらの実現手段は周知で
ある。このとき、マスクレジスタVMR0のマスク
情報を上記のリクエスト信号に同期して読出し
(もし必要ならば値を反転回路2−1で反転)て、
セレクタ2−2を介してリクエストスタツク20
にスタツクする。そして、このマスク情報は、リ
クエストオーダの1部として追加され、メモリポ
ート30を経由してメモリ装置1−1に転送され
る。
なお、メモリポート30は、メモリアドレスを
解読し、メモリ装置1−1の対応するバンクの使
用状況(バンクビジイの有無)を調べ、ビジイで
なければただちにメモリ装置1−1にリクエスト
信号を送出するが、もし、ビジイであれば空くま
でリクエスト信号の送出を待たせるような制御が
行なわれる。
メモリ装置1−1は、リクエスト信号を受取る
と、同時に転送されるメモリアドレスの下位3ビ
ツトを解読して、メモリモジユール1−1−1の
必要なバンクに起動をかけ、また、リクエストオ
ーダの読出し/書込み識別情報をもとに読出しあ
るいは書込みの指示を行なう。なお、1ビツトの
読出し/書込み識別情報の値が0のとき読出し
を、1のとき書込みを示すものとする。
読出しリクエストであれば、読出しリクエスト
があることを示すリードバリツド情報、リードバ
リツド情報が1(ON)でかつマスク情報が1で
あることを示すデータバリツド情報、メモリアド
レスの下位3ビツト(バンクアドレス情報と呼
ぶ)をオーダパイプライン1−1−2に流し込
む。このパイプライン1−1−2は、対応するリ
クエストの起動がバンクにかけられ、その読出す
データがバンクから出力されるまでのサイクル数
に等しいパイプラインステージで構成される。
そして、このパイプライン1−1−2の最終ス
テージから出力されるバンクアドレス情報をもと
にセレクタ1−1−50を介して読出しデータを
選択して、ベクトルレジスタVR0へ、また、リー
ドバリツド情報は書込みアドレス更新信号として
プラス1回路3−3に転送し、レジスタ3−2の
要素アドレスをプラス1(次読出しデータを格納
するためのアドレス更新)する。また、データバ
リツド情報は書込み許可信号としてデコーダ3−
1に転送し、レジスタ3−2で指定されるベクト
ルレジスタVR0の要素アドレスに読出しデータを
格納する。
なお、第6図は上述したオーダパイプライン1
−1−2の入出力情報を具体的に示したものであ
る。
図中、1−1−200はNOT回路、1−1−
201,1−1−202はAND回路である。
メモリリクエスタ10からは、要素番号の若い
順番にリクエストが送出され、この順番に従つて
メモリ装置1−1へ転送されて読出しデータが、
ベクトルレジスタVR0の先頭アドレスから順次格
納されるものとする。このとき、マスク情報が0
に対応する要素の読出しデータはベクトルレジス
タVR0の対応する要素アドレスに書込む必要はな
いが、即ち、書込み許可信号をデコード3−1に
転送する必要はないが、次要素のデータを書込む
ためのアドレス更新信号はプラス1回路3−3に
転送する必要があるため、マスク情報が0の場合
でもオーダパイプライン1−1−2には必要な情
報を流し込む必要がある。
なお、本発明に関するマスク付きデータ読出し
でない、通常のデータ読出しでは、第6図に於
て、メモリポート30からのマスク情報、AND
回路1−1−202、オーダパイプライン1−1
−2の中でデータバリツド情報のフイールド部分
が不要となる。そして、この場合書込み許可信号
は書込みアドレス更新信号を利用すれば良い。メ
モリモジユール1−1−1は8個のバンクで構成
され、各バンクは起動開始から終了まで一般的に
は複数サイクルを要するため、同一バンクには毎
サイクルリクエスト信号が送出されず、プライオ
リテイ回路30は絶えずバンクの使用状況(バン
クビジイ)を見てリクエストを発行する必要があ
る。なお、バンクが異なれば1サイクル毎のリク
エスト発行を可能とする。
第7図にメモリアドレスとバンクの対応を示
す。ここで、各データの単位を8B(バイト)と
し、アドレスは16進表示とする。
第8図は、ベクトルデータA,1〜8のリクエ
ストに対するメモリアドレスのバンク割当てを、
各々バンク1〜8とし、オーダパイプライン1−
1−2のステージサイクル数を8とした場合の、
メモリ装置1−1の動作、およびベクトルレジス
タVR0への読出しデータの書込み動作を示したも
のである。
このケースでは、バンクが全て異なるため、他
リクエスタからのリクエストがなければ、メモリ
装置1−1へのリクエスト送出は毎サイクル可能
となる。
第9図は、ベクトルデータA(1〜8のリクエ
ストに対するメモリアドレスのバンク割当てを
各々バンク1,5,1,5,1,5,1,5とし
た場合である。
この場合には、バンク1と5に4個ずつのリク
エストが集中するため、メモリ装置1−1へのリ
クエスト送出は毎サイクル送出できず、18サイク
ルもの空きが生じることがある。
第4図の実施例を用いれば前述した如く、有効
なデータのみをベクトルレジスタに格納でき、従
来技術の説明に用いた第2図の処理が削減で
き、また、使用するベクトルレジスタの個数を削
減できるという効果がある。さらにこのように、
メモリアドレスの違いにより空きサイクルが生
じ、更に、複数リクエスタからのリクエストがあ
ればそれらの競合により空きサイクルが増加する
傾向にあり、この点を改善すれば良り大きな効果
が期待できることになる。
マスク情報が0の場合、読出しデータをベクト
ルレジスタVR0へ書込む必要がないため、該当す
るバンクのビジイは本質的には不要となるが、書
込みアドレス更新信号を送出する必要がある。こ
のため、第4図の実施例では、マスク情報の0/
1にかかわらず、あたかもマスク情報が全て1と
見做してメモリポート30がリクエスト信号を送
出(従来技術から容易に実現可能)していたため
不要なバンクがビジイとなるために生ずるバンク
競合によつて、後続リクエストが発行できないた
めに空サイクルが生ずる。
第10図はマスク情報が0の場合、不要なバン
クをビジイとしないとした場合の処理を示すタイ
ムチヤートである。本図は、第9図と同様に、ベ
クトルデータA,1〜8のリクエストに対するメ
モリアドレスのバンクを、各々バンク1,5,
1,5,1,5,1,5とした場合である。
A(1)のリクエストはマスク情報が0のため、第
1サイクルでバンク1はビジイとならず(図中の
破線で囲んだバンクはビジイとならないものとす
る)、オーダパイプライン1−1−2のステージ
1にのみ必要情報を流し込む。A(2)のリクエスト
は第2サイクルで、マスク情報が1のためバンク
5をビジイとし、同時にステージ1に必要情報を
流し込む。
A(3)のリクエストはマスク情報が0のため、バ
ンクの使用状況にかかわらずA(2)のリクエストに
手続き、第3サイクルでステージ1に必要情報を
流し込む(なお、バンク1はビジイとせず)。第
9図と比較すると、第9図では、マスク情報が0
でも、対応するバンクをビジイとするため、A(3)
のリクエスト処理は、A(1)のリクエストによつて
ビジイにされたバンク1が空くまで待たされる。
このようにリクエストを処理することにより、
第9図での空きサイクル数18が第10図では6サ
イクルに削減できる効果が更に追加されることに
なる。
第11図は本発明の他の実施例を示す概略構成
図であり、1−1〜1−4はメモリ装置、1−1
−1〜1−4−1は8個のバンクで構成されるメ
モリモジユール、1−1−2〜1−4−2はオー
ダパイプライン、2はマスクレジスタ群、2−
1,2−3はNOT回路、2−2,2−4はセレ
クタ、3はベクトルレジスタ群、3−100は読
出しデータを指定されたベクトルレジスタへ書込
むためのデータパスセレクト回路、4はベクトル
命令を処理するベクトル処理装置(VU)、5は
スカラ命令を処理するスカラ処理装置(SU)、6
は入出力を行なうチヤネルプロセツサ(CHP)、
7は記憶制御装置(MCU)、10,11はメモリ
リクエスタ、20,21は、VUからのメモリリ
クエストをスタツクするリクエストスタツク、2
2,23は各々、CHPとSUからのメモリリクエ
ストをスタツクするリクエストスタツク、30〜
33は、各々、メモリ装置1−3,1−4,1−
1,1−2に対するメモリポート、40,41
は、VUのメモリリクエスタ10,11から送出
される読出しリクエストに対する読出しデータを
メモリ装置1−1〜1−4から選択し、ベクトル
レジスタ群3に転送する選択回路、42,43
は、各々、CHP、SUに対する選択回路である。
第12図はリクエストスタツク20(但し、リ
クエストスタツク21〜23も同様の機能をも
つ)の構成図である。
20−1〜20−8はメモリリクエスタから信
号線l20−1〜l20−4を介して転送される
リクエスト情報をスタツクする複数個からなるス
タツクレジスタ群であり、20−1はリクエスト
信号(1ビツト)、20−2はマスク情報(1ビ
ツト)、20−3は読出/書込み識別情報(1ビ
ツトで、0のとき読出し、1のとき書込み)、2
0−4はアクセス要求元情報(2ビツトで構成さ
れ、例えば、00はメモリリクエスタ10、01は
メモリリクエスタ11,10はSU、11はCHP
とする)、20−5は上位アドレス、20−6は
バンクアドレス(3ビツト)、20−7はポート
アドレス(2ビツト)、20−8はストアデータ
を格納するレジスタ群である。20−10は書込
みポインタ、20−14は読出しポインタ、20
−11と20−15はプラス1回路、20−1
2,20−13,20−17はデコーダ、20−
16はOR回路、20−18〜20−21はAND
回路、l20−1〜l20−4,l20−10〜
l20−21,l30−6,l31−6,l32
−6,l33−6は信号線である。
信号線l20−1を介してリクエスト信号が送
出されると、書込みポインタ20−10の値がデ
コーダ20−12で解読され、指定された番号の
スタツクレジスタにリクエスト情報がスタツクさ
れ、また、ポインタ20−10の値はプラス1回
路20−11で+1されて再セツトされ、次リク
エストのためのスタツクレジスタ番号値が準備さ
れる。
読出しポインタ20−14の値はデコーダ20
−13で解読され指定された番号のスタツクレジ
スタのリクエスト情報が読出される。このとき、
レジスタ群20−1から出力されるリクエスト信
号が信号線l20−10を介してAND回路20
−18〜20−21に入力され、また、レジスタ
群20−7から出力されるポートアドレスがデコ
ーダ20−17で解読され、図に示すように
AND回路20−18〜20−21に入力され、
これら2入力でANDがとられる。即、リクエス
ト信号が1のとき、2ビツトのポートアドレスが
解読され、AND回路20−18〜20−21の
どれか1つから1が出力される。
ポートアドレスが00,01,10,11のとき、
各々、信号線l20−16〜l20−19が1と
なり、ポートリクエスト信号として各々ポート3
2,33,30,31へ送出され、このとき同時
に、マスク情報、読出し/書込み識別情報、アク
セス要求元情報、上位アドレス、バツクアドレ
ス、ストアデータが、各々、信号線l20−1
1,l20−12,l20−13,l20−1
4,l20−15,l20−20は介してポート
30〜33の全てに送出される。
そして、ポート30〜33に送出されたポート
リクエストは、他のリクエストスタツクからのポ
ートリクエストとの間でプライオリテイが取ら
れ、対応するメモリ装置へメモリリクエストが送
出されたことを示すアクセプト信号が、ポート3
2,33,30,31から、各々信号線l32−
6,l33−6,l30−6,l31−6を介し
て返送される。これらの信号はOR回路20−1
6でORされて信号線l20−21を介してプラ
ス1回路20−15に入力され、読出しポインタ
20−14の値を+1更新するのに使用される。
この信号線l20−21は、同時にまた、対応す
るメモリリクエスタへ転送し、メモリリクエスタ
から送出されたリクエストが処理されたことを伝
える(必要であれば新たなリクエストの送出が可
能となる)。
第13図は、上位アドレス、バンクアドレス、
ポートアドレスの内訳を示している。例えば、メ
モリ容量を16MB、メモリアドレスをバイト単位
とすれば、32ビツトのアドレスを要する。そし
て、メモリアクセス時のデータ処理単位を8バイ
トとすれば、メモリアドレスの下3ビツトを無視
(all“0”と見做す)できる。
第14図はポート32の構成図である。但し、
ポート30,31,33も同様の機能をもつ。図
中、32−1〜32−4は、各々、リクエストス
タツク20〜23から送出されるポートリクエス
ト信号、マスク情報、バンクアドレスと、バンク
ビジイ回路32−9から信号線l32−5−1〜
l32−5−8を介して出力されるバンクビジイ
信号とを入力して、メモリ装置1−1へのリクエ
スト送出条件を判定するリクエスト送出判定回
路、32−5はプライオリテイ回路、32−6は
OR回路、32−7はセレクタ、32−8はAND
回路、32−9はバンクビジイ回路、32−10
はレジスタ、l32−1〜l32−4,l32−
5−1〜l32−5−8,l32−6〜l32−
22は信号線である。
リクエスト送出判定回路32−1の構成(32
−2〜32−4も同様)を第15図に示し、32
−50〜32−58はNOT回路、32−59〜
32−67はAND回路、32−68はOR回路、
32−69はデコーダである。信号線l20−1
5を介して転送される3ビツトのバツクアドレス
がデコーダ32−69で解読され、000のときバ
ンク0,001のときバンク1,……,111のときバ
ンク8が指定され、各々、AND回路32−60
〜32−67へ入力され、また、バンクビジイ回
路32−9から出力されるバンク1〜バンク8の
ビジイ信号が、各々信号線l32−5−1〜l3
2−5−8、NOT回路32−51〜32−58
を介してAND回路32−60〜32−67へ入
力され、これらの入力と信号線l20−16を介
して転送されるポートリクエスト信号とでAND
がとられ、出力がOR回路32−68に入力され
る。また、信号線l20−11を介して転送され
るマスク情報がNOT回路32−50で反転され、
AND回路32−59でポートリクエスト信号と
ANDがとられ、出力がOR回路32−68に入力
される。
即ち、ポートリクエスト信号が1で、かつバン
クアドレスで指定されるバンク番号に対応するバ
ンクビジイが0であれば(バンクが空いていれ
ば)、また、ポートリクエスト信号が1で、かつ、
マスク情報が0であれば、OR回路32−68か
ら信号線l32−1を介して1が出力される。後
者の条件は、マスク情報が0のため、バンクの空
き具合いに関係なくリクエスト送出が可能である
ことを意味する。
このようにして、リクエスト送出判定回路32
−1〜32−4から信号線l32−1〜l32−
4を介して出力されるリクエストスタツク毎のリ
クエスト送出許可信号は、プライオリテイ回路3
2−5で、ある優先順位に従つてアクセプトされ
る。なお、プライオリテイ回路の詳細は省略する
が、例えば、本回路に入力されるリクエスト送出
許可信号にプライオリテイ付けをし、リクエスト
送出許可信号が複数個入力される場合、最も高い
プライオリテイをもつものからアクセプトさせる
ように制御する方式がある。
信号線l32−6〜l32−9は、各々、リク
エストスタツク20〜23からのポートリクエス
ト信号に対してアクセプトされたとき1となり、
これらの信号は対応するリクエストスタツクへ前
述したアプセクト信号として送出される。
また、これらの信号はセレクタ32−7に入力
され、対応するリクエストスタツクからのリクエ
スト情報を選択し、レジスタ32−10にセツト
し、マスク情報が信号線l32−17、読出し/
書込み識別情報が信号線l32−18、アクセス
要求元情報が信号線l32−19、上位アドレス
が信号線l32−20、バンクアドレスが信号線
l32−21、ストアデータが信号線l32−2
2を介して、メモリ装置1−1へ送出される。
また、信号線l32−1〜l32−4を介して
出力されるリクエスト送出許可信号は、OR回路
32−6でORされ、レジスタ32−10、信号
線l32−16を介して、メモリリクエスト信号
としてメモリ装置1−1へ送出される。さらに、
信号線l32−10はAND回路32−8へ接続
され、マスク情報が出力される信号線l32−1
1とANDされ、出力が信号線l32−15を介
してバンクビジイ回路32−9へ入力される。こ
のとき同時に、バンクアドレスが信号線l32−
13を介してバンクビジイ回路32−9へ入力さ
れる。これは、どれかのリクエスト送出許可信号
が1で、かつ、マスク情報が1のときのみ信号線
l32−15が1となり、そのとき、信号線l3
2−13を介して入力されるバンクアドレスによ
り指定されるバンク番号を必要サイクル数だけビ
ジイにすることを示しており、マスク情報が0で
あればビジイとならない。
第16図は、メモリ装置1−1の構成図(他の
メモリ装置も同様の構成)であり、1−1−2は
オーダパイプライン、1−1−3は3ビツトのバ
ンクアドレスを解読するデコーダ、1−1−4は
NOT回路、1−1−5〜1−1−23(1−1
−11〜1−1−20は省略)はAND回路、1
−1−24はセレクタ、1−1−25〜1−1−
32(1−1−27〜1−1−31は省略)はメ
モリバンク、l1−1−1〜l1−1−4は信号
線である。
信号線l32−21を介して転送される3ビツ
トのバンクアドレスがデコーダ1−1−3で解読
されAND回路1−1−7〜1−1−22に入力
され、また、信号線l32−16を介して転送さ
れるメモリリクエスト信号と、l32−17を介
して転送されるマスク情報とがAND回路1−1
−5でANDされて出力がAND回路1−1−7〜
1−1−22に入力される。さらに、AND回路
1−1−7,1−1−9,1−1−11,……1
−1−21には信号線l32−18を介して転送
される読出し/書込み識別情報がNOT回路1−
1−4で反転されて入力され、上記2入力とで
ANDがとられ、出力信号は各々メモリバンク1
−1−25〜1−1−32への読出し起動信号と
なる。また、AND回路1−1−8,1−1−1
0,……1−1−22には上記識別情報がそのま
ま入力され、出力信号は各メモリバンクへの書込
み起動信号となる。
なお、各メモリバンクへは、信号線l32−2
0,l32−22を介して転送される上位アドレ
ス、ストアデータ(書込みのときのみ)も同時に
入力される。また、オーダパイプライン1−1−
2へは、AND回路1−1−6から出力されるリ
ードパリツド情報(1のとき読出しリクエストが
あることを示す情報)、AND回路1−1−16か
ら出力されるリードバリツド情報が1で、かつ、
信号線l32−17のマスク情報が1であるとき
1となるデータバリツド情報(AND回路1−1
−23から出力される)、信号線l32−19,
l32−21から、各々、リクエスト発行元情
報、バツクアドレスが入力される。そして、メモ
リバンクのアクセスに必要なサイクル数だけのパ
イプラインステージを経由して、リードバリツド
情報が書込みアドレス更新信号として信号線l1
−1−1を介して、また、データバリツド情報が
書込み許可信号として信号線l1−1−2を介し
て、また、リクエスト発行元情報が信号線l1−
1−3を介して、また、各メモリバンクから出力
されるデータをセレクタ1−1−24でバンクア
ドレスをもとに選択し、読出しデータとして信号
線l1−1−4を介して、選択回路40〜43へ
送出される。そして、各選択回路40〜43は、
リクエスト発行元情報の2ビツトを解読し、自分
が取込む情報かどうかを識別し、取込む必要があ
れば、書込みアドレス更新信号、書込み許可信
号、読出しデータを取込み、各々リクエスト発行
元へ転送する。
本実施例では、書込み許可信号、書込みアドレ
ス更新信号、リクエスト発行元情報等を生成する
情報を、メモリ装置内のオーダパイプラインに流
し込んで遅延させるようにしたが、これは、メモ
リ装置内でのみ遅延させる必要はなく、等価な機
能ならばどこでも良い。
〔発明の効果〕
以上によれば、処理に必要なベクトル要素のみ
を読出すことができ、効率よい処理を実行でき
る。
【図面の簡単な説明】
第1図と第2図は、従来技術の説明図、第3図
〜第16図は本発明の実施例の説明図である。

Claims (1)

  1. 【特許請求の範囲】 1 記憶装置と、少くとも一つのベクトルレジス
    タと、該記憶装置に保持されたベクトルデータの
    各要素を該ベクトルレジスタへ転送する必要があ
    るかを指定する、各要素に対応して設けられたマ
    スク情報を保持する手段と、該ベクトルデータを
    該ベクトルレジスタへ転送することを要求する命
    令に応答して、そのベクトルデータの要素の内、
    対応するマスク情報で転送が必要と指定された複
    数の要素を選択的に、かつそのベクトルレジスタ
    内の記憶装置の内それぞれの要素の要素番号で定
    まる位置に書き込み、そのベクトルレジスタ内の
    それらの位置以外にあるベクトル要素は書き換え
    ない手段を有するベクトルプロセツサ。 2 該記憶装置は主記憶装置である第1項のベク
    トルプロセツサ。 3 該書き込み手段は、該ベクトルデータのそれ
    ぞれの要素を、対応するマスク情報の値にかかわ
    らず読み出し、それぞれのベクトル要素の該ベク
    トルレジスタへの書き込みを対応するマスク情報
    に基づいて制御する手段を有する第1項のベクト
    ルプロセツサ。 4 該書き込み手段は該ベクトルデータの要素の
    アドレスを順次生成する第1の手段と、該それぞ
    れのアドレスの生成に同期して、対応するマスク
    情報を該マスク情報の保持手段から順次読み出す
    第2の手段と、該第1の手段で生成されたアドレ
    スを順次該記憶装置に供給する第3の手段と、読
    み出されたマスク情報に対応する要素が該記憶装
    置から読み出されるタイミングに同期してそのマ
    スク情報が出力されるように、それらを遅延する
    第4の手段と、該第3の手段から出力されるマス
    ク情報に応答してそれぞれの要素を、該ベクトル
    レジスタ内の、それぞれに対して定められた位置
    に書き込むか否かを制御する第5の手段とを有す
    る第3項のベクトルプロセツサ。 5 該第5の手段は、該ベクトルレジスタ内の書
    込み位置を順次示すポインタ手段と、該ポインタ
    手段にて示された書き込み位置に読み出された要
    素を書き込むか否かを、その要素に対応する遅延
    されたマスク情報により制御する手段とよりなる
    第4項のベクトルプロセツサ。 6 該記憶装置は複数の、並列に動作可能なバン
    クからなり、該第2の手段はあるアドレスが属す
    るバンクがビシーのときそのバンクのビジーが解
    除されたあと、そのアドレスを該記憶装置に供給
    するとともに、第2の手段で読み出された対応す
    るマスク情報を該第4の手段へ提供する手段を有
    する第4項のベクトルプロセツサ。 7 該書き込み手段は、該ベクトルデータのある
    要素に対応するマスク情報がその要素の転送が不
    要であることを示しているとき、その要素を該記
    憶装置から読み出すのを禁止し、読み出しを許可
    された要素のみ該ベクトルレジスタに書き込む手
    段を有する第1項のベクトルプロセツサ。 8 該書き込み手段は、該ベクトルデータの要素
    のアドレスを順次生成する第1の手段と、それぞ
    れのアドレスの生成に同期して、対応するマスク
    情報を該マスク情報の保持手段から順次読み出す
    第2の手段と、ある要素に対応する、該読み出し
    手段で読み出されたマスク情報が、その要素の転
    送が必要あることを示しているとき、その要素を
    該記憶装置から読み出すように、該生成手段で生
    成されたアドレスを該記憶装置に供給する第3の
    手段と、該読み出し手段で読み出されたマスク情
    報に対応する要素が該記憶装置から読み出される
    とき、そのタイミングに同期してそのマスク情報
    が出力されるようにそれを遅延し、該読み出し手
    段で読み出されたマスク情報に対応する要素が該
    記憶装置から読み出されないとき、本来その要素
    が読み出されるべきタイミングに同期してそのマ
    スク情報が出力されるようにそれを遅延する第4
    の手段と、該記憶装置から読み出された要素を該
    ベクトルレジスタ内のそれぞれに対応した、位置
    に書き込むように、該遅延手段から出力されるマ
    スク情報に応答して該記憶装置の出力を該ベクト
    ルレジスタに書き込むのを制御する第5の手段と
    を有する第7項のベクトルプロセツサ。 9 該第5の手段は、該ベクトルレジスタ内の書
    込み位置を順次示すポインタ手段と、該ポインタ
    手段にて示された書き込み位置に読み出された要
    素を書き込むか否かを、その要素に対応する遅延
    されたマスク情報により制御する手段とよりなる
    第8項のベクトルプロセツサ。 10 該記憶装置は複数の、並列に動作可能なバ
    ンクからなり、該第2の手段はあるアドレスが属
    するバンクがビシーのときそのバンクのビジーが
    解除されたあと、そのアドレスを該記憶装置に供
    給するとともに、第2の手段で読み出された対応
    するマスク情報を該第4の手段へ提供する手段を
    有する第8項のベクトルプロセツサ。
JP58123245A 1983-07-08 1983-07-08 ベクトルプロセッサ Granted JPS6015771A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP58123245A JPS6015771A (ja) 1983-07-08 1983-07-08 ベクトルプロセッサ
DE8484107937T DE3485166D1 (de) 1983-07-08 1984-07-06 Speichersteuergeraet.
EP84107937A EP0131284B1 (en) 1983-07-08 1984-07-06 Storage control apparatus
US06/629,042 US4680730A (en) 1983-07-08 1984-07-09 Storage control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58123245A JPS6015771A (ja) 1983-07-08 1983-07-08 ベクトルプロセッサ

Publications (2)

Publication Number Publication Date
JPS6015771A JPS6015771A (ja) 1985-01-26
JPH0463430B2 true JPH0463430B2 (ja) 1992-10-09

Family

ID=14855794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58123245A Granted JPS6015771A (ja) 1983-07-08 1983-07-08 ベクトルプロセッサ

Country Status (4)

Country Link
US (1) US4680730A (ja)
EP (1) EP0131284B1 (ja)
JP (1) JPS6015771A (ja)
DE (1) DE3485166D1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60195646A (ja) * 1984-03-16 1985-10-04 Hitachi Ltd デ−タ処理装置
JPS618785A (ja) * 1984-06-21 1986-01-16 Fujitsu Ltd 記憶装置アクセス制御方式
DE3585972D1 (de) * 1984-07-02 1992-06-11 Nec Corp Rechner-vektorregisterverarbeitung.
JPS62276668A (ja) * 1985-07-31 1987-12-01 Nec Corp ベクトルマスク演算制御ユニツト
US4740893A (en) * 1985-08-07 1988-04-26 International Business Machines Corp. Method for reducing the time for switching between programs
JPS6266377A (ja) * 1985-09-19 1987-03-25 Fujitsu Ltd マスクパタ−ン生成方式
JP2667806B2 (ja) * 1985-10-11 1997-10-27 株式会社日立製作所 ベクトルプロセツサ
JPS62115571A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd ベクトルアクセス制御方式
JPS62120574A (ja) * 1985-11-20 1987-06-01 Fujitsu Ltd ベクトル処理装置
JPS62180470A (ja) * 1986-02-04 1987-08-07 Hitachi Ltd ベクトル処理装置
JPH0731669B2 (ja) * 1986-04-04 1995-04-10 株式会社日立製作所 ベクトル・プロセツサ
US4894797A (en) * 1986-11-17 1990-01-16 Amp Incorporated FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers
US4891753A (en) * 1986-11-26 1990-01-02 Intel Corporation Register scorboarding on a microprocessor chip
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
US4980817A (en) * 1987-08-31 1990-12-25 Digital Equipment Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
US5168573A (en) * 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
US4949250A (en) * 1988-03-18 1990-08-14 Digital Equipment Corporation Method and apparatus for executing instructions for a vector processing system
US5113521A (en) * 1988-03-18 1992-05-12 Digital Equipment Corporation Method and apparatus for handling faults of vector instructions causing memory management exceptions
US5008812A (en) * 1988-03-18 1991-04-16 Digital Equipment Corporation Context switching method and apparatus for use in a vector processing system
US5043867A (en) * 1988-03-18 1991-08-27 Digital Equipment Corporation Exception reporting mechanism for a vector processor
DE68928507T2 (de) * 1988-06-07 1998-04-16 Fujitsu Ltd Vektordatenverarbeitungsvorrichtung
JPH0719221B2 (ja) * 1988-12-27 1995-03-06 日本電気株式会社 記憶制御方式
KR930007185B1 (ko) * 1989-01-13 1993-07-31 가부시키가이샤 도시바 레지스터뱅크회로
JPH0740241B2 (ja) * 1989-01-17 1995-05-01 富士通株式会社 リクエストキャンセル方式
JP3038781B2 (ja) * 1989-04-21 2000-05-08 日本電気株式会社 メモリアクセス制御回路
US5146574A (en) * 1989-06-27 1992-09-08 Sf2 Corporation Method and circuit for programmable selecting a variable sequence of element using write-back
US5224214A (en) * 1990-04-12 1993-06-29 Digital Equipment Corp. BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
JP2625277B2 (ja) * 1991-05-20 1997-07-02 富士通株式会社 メモリアクセス装置
JP2665111B2 (ja) * 1992-06-18 1997-10-22 日本電気株式会社 ベクトル処理装置
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
JPH06348595A (ja) * 1993-06-07 1994-12-22 Hitachi Ltd キャッシュ装置
JP4084428B2 (ja) * 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
US5940625A (en) * 1996-09-03 1999-08-17 Cray Research, Inc. Density dependent vector mask operation control apparatus and method
US6170034B1 (en) 1998-03-31 2001-01-02 Lsi Logic Corporation Hardware assisted mask read/write
JP3734032B2 (ja) * 2002-07-25 2006-01-11 日本電気株式会社 情報処理装置及びそのメモリ制御方法
JP3857661B2 (ja) * 2003-03-13 2006-12-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び記録媒体
US20090172348A1 (en) * 2007-12-26 2009-07-02 Robert Cavin Methods, apparatus, and instructions for processing vector data
GB2457303A (en) * 2008-02-11 2009-08-12 Linear Algebra Technologies Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap
US9501276B2 (en) 2012-12-31 2016-11-22 Intel Corporation Instructions and logic to vectorize conditional loops
GB2514397B (en) 2013-05-23 2017-10-11 Linear Algebra Tech Ltd Corner detection
US9727113B2 (en) 2013-08-08 2017-08-08 Linear Algebra Technologies Limited Low power computational imaging
US9146747B2 (en) 2013-08-08 2015-09-29 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing configurable computational imaging pipeline
US9910675B2 (en) 2013-08-08 2018-03-06 Linear Algebra Technologies Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US9196017B2 (en) 2013-11-15 2015-11-24 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing noise from an image
US9270872B2 (en) 2013-11-26 2016-02-23 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing shading effect from image
US10460704B2 (en) 2016-04-01 2019-10-29 Movidius Limited Systems and methods for head-mounted display adapted to human visual mechanism
US10949947B2 (en) 2017-12-29 2021-03-16 Intel Corporation Foveated image rendering for head-mounted display devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781812A (en) * 1971-06-28 1973-12-25 Burroughs Corp Addressing system responsive to a transfer vector for accessing a memory
US3919534A (en) * 1974-05-17 1975-11-11 Control Data Corp Data processing system
GB1464570A (en) * 1974-11-27 1977-02-16 Ibm Microprogramme control units
US4179736A (en) * 1977-11-22 1979-12-18 Honeywell Information Systems Inc. Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit
JPS5731078A (en) * 1980-07-31 1982-02-19 Fujitsu Ltd Vector data processor
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
JPS5822446A (ja) * 1981-08-04 1983-02-09 Hitachi Ltd ベクトル・マスク演算制御方式
JPS58102381A (ja) * 1981-12-15 1983-06-17 Nec Corp バツフアメモリ

Also Published As

Publication number Publication date
DE3485166D1 (de) 1991-11-21
EP0131284B1 (en) 1991-10-16
EP0131284A2 (en) 1985-01-16
EP0131284A3 (en) 1988-01-07
US4680730A (en) 1987-07-14
JPS6015771A (ja) 1985-01-26

Similar Documents

Publication Publication Date Title
JPH0463430B2 (ja)
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US4467419A (en) Data processing system with access to a buffer store during data block transfers
JPH04140880A (ja) ベクトル処理装置
JPS60136870A (ja) ベクトル処理装置
US4547848A (en) Access control processing system in computer system
JPS59114677A (ja) ベクトル処理装置
US5561818A (en) Microprocessor and data processing system for data transfer using a register file
JPS58123141A (ja) 高速計数分岐実行方式
JPS59200361A (ja) デイジタルプロセツサ及び処理方式
JP3151832B2 (ja) Dmaコントローラ
JP2777387B2 (ja) 改良された転送制御による直接メモリ・アクセス方式を持つデータ処理装置
JPH0364903B2 (ja)
JPS60142450A (ja) 記憶システム
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPS6111882A (ja) 情報処理装置
JPH04195226A (ja) 並列処理マイクロプロセッサ
JPS6149695B2 (ja)
JPS58158746A (ja) 情報処理装置
JPH0784963A (ja) Cpuを有する半導体集積回路
JPH01162937A (ja) 優先順位制御方式
JPH0412491B2 (ja)
JPH0328962A (ja) スコアボードによるアライン制御方式
JPS6160473B2 (ja)
JPH02136949A (ja) 入出力制御装置