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

ベクトル処理装置

Info

Publication number
JP2607689B2
JP2607689B2 JP1175468A JP17546889A JP2607689B2 JP 2607689 B2 JP2607689 B2 JP 2607689B2 JP 1175468 A JP1175468 A JP 1175468A JP 17546889 A JP17546889 A JP 17546889A JP 2607689 B2 JP2607689 B2 JP 2607689B2
Authority
JP
Japan
Prior art keywords
vector
data
byte
stack
register
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
JP1175468A
Other languages
English (en)
Other versions
JPH0341554A (ja
Inventor
正守 柏山
智夫 青山
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 JP1175468A priority Critical patent/JP2607689B2/ja
Priority to US07/545,360 priority patent/US5247695A/en
Priority to DE4021784A priority patent/DE4021784A1/de
Publication of JPH0341554A publication Critical patent/JPH0341554A/ja
Application granted granted Critical
Publication of JP2607689B2 publication Critical patent/JP2607689B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はベクトル処理装置に係り、特にベクトルレジ
スタと演算器間のデータ転送をバイト単位で行うことに
より、メモリバンク.コンフリクトを回避してメモリア
クセス制御を有効に行うベクトル処理装置に関する。
[従来の技術] 一般に、データ処理装置で画像処理または知識情報処
理等を行うとき、バイト単位のメモリアクセス機能が必
要である。
ベクトル処理装置はチェイニング機能によって複数の
演算器をオーバーラップして使用することができ、高い
データ処理能力を有している。ベクトル処理装置では高
いデータ処理能力を実現するためメモリアクセスをバイ
ト単位でなくワードまたはダブルワード単位に行う。
科学技術計算の場合、大部分の処理がワードまたはダ
ブルワード単位なのでメモリアクセス制御方式によって
高速処理を達成できる。
一方、画像処理等では処理がバイト単位に行われるの
でメモリアクセス制御ではメモリバンク.コンフリクト
のために高速処理の達成は困難である。
これを解決するためのバイト単位でのベクトル処理装
置用メモリアクセス手段が、例えば特開昭60−186964号
公報等に記載されている。
ここで、ハードウェアの物理増を抑えかつバイト単位
にメモリをアクセスすることは、きわめて困難である。
例えば、データがバイト境界であっても、連続番地に
格納されているような制約条件があれば、ハードウェア
の物理量はかなり小さくすることができる。しかし、知
識情報処理ではデータの連続番地格納は難しい。
[発明が解決しようとする課題] 上記従来技術は、ベクトル処理装置において、画像処
理等がバイト単位に行われるので、メモリアクセス制御
時に、メモリバンク.コンフリクトが発生するために高
速処理の達成は困難であるという問題がある。
本発明の目的は、ベクトル処理装置のメモリアクセス
において、バイト単位のメモリアクセス制御をハードウ
ェアの物理量増加を招くことなく実現するベクトル処理
装置を提供することにある。
[課題を解決するための手段] 上記目的を達成するために、本発明は、ベクトル処理
装置において、メモリ上にバイト単位で配置されたデー
タをアクセスする時、メモリとベクトルレジスタ間のデ
ータ転送処理と、ベクトルレジスタと演算器間のデータ
転送処理の2操作に分けて実行する。
即ち、ベクトル処理装置において、メモリアクセスに
おける間接アドレスを指定し、ベクトルレジスタと演算
器間のデータ転送でのマークビットによる任意のベクト
ルレジスタ上のバイトデータを演算器に送出/授受する
ための論理部と、マークビットの‘リスト’を生成する
ためのアドレス生成論理部と、マークビット・リスト保
持のためのデータスタック論理部と、データスタックか
ら読み出したマークビット・リストによるベクトルレジ
スタ読み出し/書き込み制御論理部と、ベクトルレジス
タ上で処理したデータのストア処理のためのベクトル要
素間集約論理部を備えるものである。
[作用] ベクトル処理装置において、メモリ上にバイト単位で
配置されたデータをアクセスする時、メモリとベクトル
レジスタ間のデータ転送処理と、ベクトルレジスタと演
算器間のデータ転送処理の2操作に分けて実行する。
即ち、ベクトル処理装置において、メモリアクセスに
おける間接アドレスを指定し、ベクトルレジスタと演算
器間のデータ転送でのマークビットによる任意のベクト
ルレジスタ上のバイトデータを演算器に送出/授受する
ための論理部と、マークビットの‘リスト’を生成する
ためのアドレス生成論理部と、マークビット・リスト保
持のためのデータスタック論理部と、データスタックか
ら読み出したマークビット・リストによるベクトルレジ
スタ読み出し/書き込み制御論理部と、ベクトルレジス
タ上で処理したデータのストア処理のためのベクトル要
素間集約論理部を備えるので、バイト単位のメモリアク
セス制御をハードウェアの物理量増加を招くことなく実
現できる。
[実施例] 以下、本発明によるベクトル処理装置の一実施例を図
面により詳細に説明する。
まず、本発明の概略を説明する。
ベクトルロード/ストア命令の動作はベースアドレス
(BR)、増分データ(ID)、ベクトル長(VL)の3要素
によって規定される。
任意のベクトル要素jのメモリアクセス・アドレス
は、 A(j)=BR+(j−1)*ID …(1) where,1≦j≦VL, である。
メモリがワード(≡8B)単位で構成されているとき、 WA(j)=〔A(j)/8〕 …(2) MK(j)=mod(A(j),8) …(3) なる2つの量WA,MKを定義する。
WAはメモリ上にベクトル要素jが格納されているワー
ドアドレス、MKは該ワードアドレスに属するデータ(ワ
ード語長)のベクトル要素jが格納されている位置を示
すマークビットを示す。
ここでマークビットは0,1,2,・・・と数える。
このように生成されたWA,MKリストはデータスタック
に格納される。該データスタックはベクトルレジスタと
同様の構造を持っていても良い。
尚、通常ワードは4B、ダブルワードは8Bであるが、こ
こではワードを8Bとして扱うこととする。
ベクトルロード処理の場合、次の処理が行われる。デ
ータスタックからWAリストが読み出されメモリへの間接
アドレッシング動作が行われる。間接アドレス処理はす
でに公知である。間接アドレス処理によって、メモリ上
のベクトル要素を含むワードデータがベクトルレジスタ
に書き込まれる。
ベクトルレジスタを読み出す際、データスタックから
MKリストを読み出し、ベクトルレジスタから読み出した
データをマークビットに従って加工し(即ち小数点位置
を演算部に合わせて)演算器へ送出する。演算器によっ
て処理されたデータはMKリストによって元のワード単位
のデータのマークビット位置に書き込まれる。
ベクトルストア処理の場合、2通りの方法が実現可能
である。
まず第1の方法は、WAリストに従ってメモリ上のデー
タをベクトルレジスタ上に読み出しておき、このベクト
ルレジスタ上にMKリストに従って演算した結果を書き込
み、ストア前段階のベクトルデータを生成する方法であ
る。
第2の方法はストアすべき領域からデータをあらかじ
めベクトルレジスタ上に読み出しておき、このベクトル
レジスタに対して演算器の出力をマークビットで書き込
み、ストア前段階のベクトルデータを生成する方法であ
る。第2の方法はソフトウェアでベクトルレジスタの使
い方を工夫することによって、ハードウェアの物量削減
が可能である。
以下、第2の方法を前提に説明を行う。
ストア前段階のベクトルデータは同一ワードアドレス
に複数のベクトル要素が含まれるとき、これをベクトル
上で編集する必要がある。このためにベクトル要素間縮
約論理が用いられる。ベクトルレジスタ上で編集された
データはWAリストによる間接アドレッシングのストア処
理によって、任意のバイト単位のアクセスがベクトル処
理装置で可能になる。
以上のように、ベクトルレジスタ上のデータに対しマ
ークビット処理を許すことによって、ベクトル命令は、 (1)オペレーションコード, (2)オペランドレジスタ指定域, (3)マススレジスタ指定域, の他に、 (4)マークビット・スタック指定域, (5)WAマドレスリスト・スタック指定域, を有する。
ベクトルロード/ストア命令は複数のオペレーション
によって実現されるマクロ命令の形で処理される。
第1図は本発明によるマークビットスタックを有する
ベクトル処理装置のブロック図である。
ここでは、ベクトル処理装置において任意のバイト単
位のベクトルデータをベクトルロードし、ベクトル演算
実施後ベクトルストアするオペレーションについて説明
する。
ベクトル命令によるロード動作を行うとき、アドレス
生成論理部1は、主記憶メモリ2上に格納されている目
的の1Byte(1B)単位のベクトル要素jのアドレスA
(j)が含まれる8Bの先頭アドレスであるワードアドレ
スWA(j)とワードアドレスが示す8B長でのバイト位置
を示すマークビットMK(j)を生成する。ワードアドレ
スWA(j)、マークビットMK(j)、およびベクトル要
素jのアドレスA(j)は前述の(1),(2),
(3)で定義した式で与えられる。
アドレス生成論理部1で生成されるマークビットリス
ト(MKリスト)、及びワードアドレスリスト(WAリス
ト)は、データスタック論理部3に格納される。
また目的のベクトル要素は命令が示すベクトルレジス
タ(VR)4にロードパイプライン5、スイッチマトリッ
クス論理DIST6を通って格納される。ここでデータスタ
ック論理部3は、ワードアドレスWA(j)を格納するワ
ードアドレススタック(WA)3aと、マークビットMK
(j)を格納するマークビットスタック(MK)3bで構成
されており、ベクトルレジスタ4の個数と同数の32組を
有する。
さらに32個あるベクトルレジスタ4の番号と32組ある
データスタック論理部3は論理的に一対一に対応して動
作する。
さらに、第2図に示すように対応するベクトルレジス
タ4とワードアドレススタック3bの関係は、ベクトル要
素1がWA(1),MK(1)、ベクトル要素2がWA(2),
MK(2)となっていて、1個のベクトルレジスタが保持
できる最大要素数128間で同様な関係にある。
尚、ベクトルロードの場合、ワードアドレススタック
3aに格納されているWAリストに従ってベクトル要素j対
応にワードアドレスWA(j)が出力され、主記憶アクセ
ス制御論理部7に入力され、この結果主記憶メモリ2に
対する間接アドレッシングが行われる。
第3図は、主記憶メモリ2に格納されたバイト単位の
ベクトル要素j(1≦VL≦j,8≦ID)が、ベクトルレジ
スタ4にロードされるときのマークビットスタック3bと
の対応を示したものである。
ベクトルレジスタ4は8B(1ワード)の幅がありロー
ドオペレーションは1ワード単位で行われる。よってア
ドレスA(1)にあたるベクトル要素1のデータは、先
頭アドレスであるWA(1)から8B単位でベクトルレジス
タに書き込まれる。
以下同様に、ベクトル要素A(j)まで行う。その時
マークビットスタック3bの様子は、例えばベクトル要素
2の場合4バイト目であるから、対応するMK(2)のB4
ビットが‘1'になり、その他のビットは‘0'になる。
(ただし、1ワードのバイトは0,1,2..7バイトと数え
る)。その他のベクトル要素についても同様である。
尚、マークビットスタック3bは1ワードのバイト対応に
B0,B1,B2..B7の8bitで構成してある。
第4図は、前記ベクトル要素の増分(ID)が5の例を
示している。ID<8の場合、ワードアドレスWA(j)か
ら始まる1ワードの中に2つのベクトル要素が含まれる
ケースが生じる。この場合ワードアドレススタック3aに
は、第4図のごとく連続して同一のワードアドレスWA
(j)がスタックされる。
よってベクトルレジスタ4は、ベクトル要素j−1と
jが8バイト幅の同一データが書き込まれる。しかし、
マークビットスタック3bは、MK(j−1)とMK(j)に
ベクトル要素j−1とjのバイト位置の相異が反映され
る。即ち、MK(j−1)はB0が‘1'でその他は‘0'、MK
(j)はB5が‘1'でその他は‘0'になる。
以上述べてきたごとく前記ベクトルロードのオペレー
ションは、各ベクトル要素がマークビットスタック3bに
格納されたMKリストとワードアドレススタック3aに格納
されたWAリストと対になって処理される。
次に、ベクトルレジスタ4に書き込まれたベクトルデ
ータは、スイッチマトリックス論理SEL8を通ってシフタ
9に入力される。シフタ9はバイト単位のシフト動作が
可能であり、シフト条件はベクトル要素に対応したマー
クビットスタック3bから第2図に示したベクトルデータ
とスタック関係に基づいて読み出されるところのベクト
ル要素ビット位置に従う。
シフタ9から出力されたベクトル要素は小数点位置を
演算器10に合わせる加工が行われ演算器10で処理され
る。演算処理の後演算器10から出力されたベクトルデー
タは、シフタ11に入力される。シフタ11はバイト単位の
シフト動作が可能であり、シフタ9でシフトされたベク
トル要素をマークビットスタック3bから与えられるbit
データを基にして元のバイト位置にシフトしDIST6を通
して演算結果格納先のベクトルレジスタ4に書き込まれ
る。
最後に、演算結果を主記憶メモリ2上の元のアドレス
にストアするオペレーションを行う。ところが、ストア
した後で目的のベクトル要素j以外のデータが変化して
はいけない。そこでまず、演算結果が格納されているベ
クトルレジスタ4に対して前記ベクトルロードオペレー
ションのベクトル要素jに対応するデータスタック論理
部3のWAリストのワードアドレスWA(j)に従って主記
憶メモリ2上のベクトルデータをロードする。
第5図は、ストア処理の前段階にあるロードオペレー
ションを詳細に説明するための図である。
第1図で示した32個で構成されるベクトルレジスタ4
は詳細にはベクトルレジスタ4aで表す1バイト単位のRA
M8個で1個のベクトルレジスタ4が構成されており、そ
れぞれ独立に書き込みが可能な様WE信号が印可されてい
る。このWE信号は、ベクトルレジスタ4と対になってい
るマークビットスタック3bのビットB0,B1..B7から出力
される信号を極性反転した信号とAND条件を取り前記ベ
クトルレジスタ4aに入力される。
当該ベクトルロードオペレーションにおいては、主記
憶メモリ2上のベクトル要素jが、演算結果が格納され
ているベクトルレジスタ4に書き込まれる。その時、マ
ークビットスタック3bに格納されているMKリストにした
がってマークビットB0,B1...B7の‘0'が示すバイトのみ
書き替える動作を行う。その後、ベクトルレジスタ4を
WAリストが示す主記憶メモリ2上のロードオペレーショ
ン前の同一アドレスにストアパイププライン8を通して
書き込む。
尚、当該動作における主記憶アドレスの発生はデータ
スタック論理部3のWAリストにしたがって主記憶アクセ
ス制御論理部7が間接アドレッシングを行う。
第4図で示したケースでは、ワードアドレススタック
3aのWAリストをコンペアし連続して同一ワードアドレス
を示すマークビットスタック3bの出力をORすることで対
処する。尚、当該動作は複数のオペレーションからなる
マクロ命令の形で処理するとさらに有効である。
以上述べてきたように、本実施例によれば任意のバイ
ト単位に主記憶上に格納されているベクトルデータのア
クセスが可能である。
また、ベクトル処理装置のメモリアクセスにおいて、
バイト単位のメモリアクセス制御をハードウェアの物理
量増加を招くことなく実現できる。
さらに、ベクトル処理装置において、バイト単位のメ
モリアクセス制御を実現することによって、画像処理、
知識情報処理などの非数値計算分野に適用可能となる。
[発明の効果] 本発明によれば、ベクトル処理装置での任意バイト単
位の主記憶アクセスがハードウエア量の増加を少なくし
て達成でき、さらに主記憶に対する処理をワード単位で
行うためメモリコンフリクトの発生を抑えるという効果
がある。
【図面の簡単な説明】
第1図は本発明によるマークビットを有するベクトル処
理装置のブロック図、第2図はベクトルレジスタとマー
クビットスタック、ワードアドレススタックの対応関係
を説明するための図、第3図、第4図は、第2図の対応
を詳細に説明するための図、第5図はストア処理におけ
るロードオペレーションを説明するための図である。 1……アドレス生成論理部、 2……主記憶メモリ、 3……データスタック論理部、 3a……ワードアドレススタック、 3b……マークビットスタック、 4……ベクトルレジスタ、 7……主記憶アクセス制御論理部、 9,11……シフタ、 12……レジスタ書き込み読み出し制御論理部。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶メモリからのロード/ストアパイプ
    ラインがベクトルレジスタに対してベクトルデータの入
    出力を実行するベクトル処理装置において、前記主記憶
    メモリに記憶されているベクトルデータのワードアドレ
    ス内バイト位置を表現するデータスタック論理を具備
    し、前記データスタック論理に記載されている情報に基
    づいて前記ベクトルレジスタのアクセスを制御すること
    を特徴とするベクトル処理装置。
  2. 【請求項2】請求項1のベクトル処理装置において、前
    記ベクトルレジスタと演算器の間のデータ転送を行うデ
    ータ転送手段を具備し、データ転送において前記データ
    スタック論理に記載されている情報に基づいて、ベクト
    ルデータを任意バイト単位で処理することを特徴とする
    ベクトル処理装置。
  3. 【請求項3】請求項2のベクトル処理装置において、主
    記憶メモリ上の1バイト長ベクトル要素からなるベクト
    ルデータに対して、ベクトルロード処理とベクトルスト
    ア処理が複数のオペレーションからなるマクロ命令の形
    でアクセスすることを特徴とするベクトル処理装置。
JP1175468A 1989-07-10 1989-07-10 ベクトル処理装置 Expired - Fee Related JP2607689B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1175468A JP2607689B2 (ja) 1989-07-10 1989-07-10 ベクトル処理装置
US07/545,360 US5247695A (en) 1989-07-10 1990-06-27 Vector processor with byte access of memory
DE4021784A DE4021784A1 (de) 1989-07-10 1990-07-09 Vektorprozessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1175468A JP2607689B2 (ja) 1989-07-10 1989-07-10 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPH0341554A JPH0341554A (ja) 1991-02-22
JP2607689B2 true JP2607689B2 (ja) 1997-05-07

Family

ID=15996589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1175468A Expired - Fee Related JP2607689B2 (ja) 1989-07-10 1989-07-10 ベクトル処理装置

Country Status (3)

Country Link
US (1) US5247695A (ja)
JP (1) JP2607689B2 (ja)
DE (1) DE4021784A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2665111B2 (ja) * 1992-06-18 1997-10-22 日本電気株式会社 ベクトル処理装置
US6665790B1 (en) * 2000-02-29 2003-12-16 International Business Machines Corporation Vector register file with arbitrary vector addressing
US7299338B2 (en) * 2002-12-04 2007-11-20 Agere Systems Inc. Vector indexed memory unit and method
GB2399900B (en) * 2003-03-27 2005-10-05 Micron Technology Inc Data reording processor and method for use in an active memory device
US9501276B2 (en) 2012-12-31 2016-11-22 Intel Corporation Instructions and logic to vectorize conditional loops

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57209570A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Vector processing device
JPS5975365A (ja) * 1982-10-22 1984-04-28 Hitachi Ltd ベクトル処理装置
JPH0652530B2 (ja) * 1982-10-25 1994-07-06 株式会社日立製作所 ベクトル・プロセッサ
JPH077385B2 (ja) * 1983-12-23 1995-01-30 株式会社日立製作所 データ処理装置
JPS60136872A (ja) * 1983-12-26 1985-07-20 Hitachi Ltd ベクトル処理装置
JPS60186964A (ja) * 1984-03-05 1985-09-24 Hitachi Ltd ベクトル処理装置
JPS6160473A (ja) * 1984-08-21 1986-03-28 日本軽金属株式会社 生菓子等の保温配送方法
US4745577A (en) * 1984-11-20 1988-05-17 Fujitsu Limited Semiconductor memory device with shift registers for high speed reading and writing
JPH0731669B2 (ja) * 1986-04-04 1995-04-10 株式会社日立製作所 ベクトル・プロセツサ
JP2941817B2 (ja) * 1988-09-14 1999-08-30 株式会社日立製作所 ベクトル処理装置

Also Published As

Publication number Publication date
DE4021784C2 (ja) 1992-10-08
US5247695A (en) 1993-09-21
JPH0341554A (ja) 1991-02-22
DE4021784A1 (de) 1991-01-24

Similar Documents

Publication Publication Date Title
US4814976A (en) RISC computer with unaligned reference handling and method for the same
US3328768A (en) Storage protection systems
US4675809A (en) Data processing system for floating point data having a variable length exponent part
JPS59117666A (ja) ベクトル処理装置
US3701977A (en) General purpose digital computer
JPS59212958A (ja) コンピユ−タシステム
JP2607689B2 (ja) ベクトル処理装置
EP0167959B1 (en) Computer vector register processing
TWI338858B (en) Efficient multiplication sequence for large integer operands wider than the multiplier hardware
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
US4575796A (en) Information processing unit
JPS623461B2 (ja)
US4301514A (en) Data processor for processing at one time data including X bytes and Y bits
US5001629A (en) Central processing unit with improved stack register operation
WO2004021171A1 (en) Performing repeat string operations
US4561071A (en) Storage system having buffer storage
JP3628339B2 (ja) データアクセスシステム
JP2547219B2 (ja) ベクトルデータのアクセス制御装置及び方法
EP0580109B1 (en) Data acces in a RISC digital signal processor
US20230315472A1 (en) System for managing a group of rotating registers defined arbitrarily in a processor register file
JPH03108040A (ja) 改良された同一データ反復書込機構を有するデータ記憶装置
KR830000265B1 (ko) 정보처리 장치
JPS6250867B2 (ja)
JPH05173778A (ja) データ処理装置
JPH02190968A (ja) ベクトル処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees