JPS6339945B2 - - Google Patents

Info

Publication number
JPS6339945B2
JPS6339945B2 JP55075548A JP7554880A JPS6339945B2 JP S6339945 B2 JPS6339945 B2 JP S6339945B2 JP 55075548 A JP55075548 A JP 55075548A JP 7554880 A JP7554880 A JP 7554880A JP S6339945 B2 JPS6339945 B2 JP S6339945B2
Authority
JP
Japan
Prior art keywords
vector
register
vector register
registers
data output
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
JP55075548A
Other languages
English (en)
Other versions
JPS573172A (en
Inventor
Shigeo Nagashima
Shunichi Torii
Koichiro Omoda
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 JP7554880A priority Critical patent/JPS573172A/ja
Publication of JPS573172A publication Critical patent/JPS573172A/ja
Publication of JPS6339945B2 publication Critical patent/JPS6339945B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明は、ベクトル演算が高速に実行可能なベ
クトル処理向きデイジタル型電子計算機(以下こ
れをベクトルプロセツサとよぶ)に関し、特にベ
クトルを格納するベクトルレジスタの出力信号線
数を一定のまま、ベクトルレジスタ数を増加させ
ることが可能なベクトルレジスタ制御方式に関す
る。
従来のベクトルプロセツサ(例えば米国特許第
4128880号参照)においてベクトル演算をする場
合、第1図のごとくベクトルレジスタVRに格納
されたベクトル要素間で演算する方式がある。こ
のとき、使用するベクトルレジスタVRは図のご
とく、命令レジスタIRのR1,R2,R3のレ
ジスタ指定フイールドにより指定する。
ところで、ベクトルレジスタVRは通常、メモ
リ素子により構成される。ベクトルレジスタVR0
〜VRo-1とその周辺の概略回路をあらわしたのが
第2図である。すなわち、命令レジスタIRのう
ち、R2およびR3フイールドの内容は、図のご
とくそれぞれセレクタA、Bを制御し、R2,R
3フイールド中に指定されるベクトル・レジスタ
VRi,VRjの出力を選択して演算器に送出する。
一方、R1フイールドの内容はデコーダによつて
デコードされてVRkの書込み許可信号となる。
これにより、演算器の出力は、R1フイールドで
指定されたVRkの1つに格納される。各VRl内の
どのベクトル要素をセレクタに送出するか、また
はどのベクトル要素の領域に格納するかを指定す
るのが、各VRlに設けられたアドレスレジスタ
ARで通常、アドレスレジスタを+1加算器ADD
により1ずつ増加させて、レジスタREGを介す
ることにより次々とベクトル要素を読出したり、
また格納していく。
ここで、VRの数はプログラムの作成のしやす
さ、あるいはベクトルプロセツサの性能向上のた
めに、できるだけ多数であることが要求される。
一方、これはハードウエア設計上の大きな問題の
1つとなる。例えば、VRの数を16とすると、こ
の場合、1つのセレクタには、VRの出力である
8バイト(信号線はデータ線、パリテイ線含めて
72本)×16の入力があり、8バイトの出力がある。
従つて入力として1152本の信号線があり、出力と
して72本の信号線があることになる。このような
セレクタが、演算器の数(演算器は1つではな
く、数個あるのが普通)の2倍(ベクトルを演算
するため)だけ必要となる。VRの数が32とな
るとセレクタの入力信号線は2302本、64となる
と4604本となる。ベクトル選択動作を高速で動作
させるためには、セレクタをLSI化する必要があ
るが、LSIのピン数には限界(LSIのピン数は多
くても80〜100ピンが限度)があり、上記のよう
な多数の入力信号のセレクタを実現するには多数
のLSIを配置する必要がある。たとえば、64個の
VRのセレクタをLSIで構成するには、1LSIにて
1ビツト分のセレクタ(64ビツト入力、1ビツト
出力)しか構成できない。従つて8バイトのセレ
クタには72個のLSIが必要となり、これらLSIを
実装するプリント基板も数枚に及ぶ。このため、
VR用のメモリ素子からセレクタ用LSIまでの信
号線が長くなつて信号伝播に時間を要し、ベクト
ルプロセツサの高速化が阻まれることになる。
本発明は、上述した欠点を解消するために、ベ
クトルレジスタ指定に一定の制約を加えることに
より、複数ベクトルレジスタ出力から1出力を選
択するセレクタの入力信号線数を一定のまま、ベ
クトルレジスタ数を容易に増加させ得る手段を提
供するものである。
上記の目的を達成するために、本発明を用いる
ベクトルプロセツサにおいては、ベクトルレジス
タVRの構成に際して、指定されたVR番号をNVR
とすると、mod(NVR,2m)(NVRを2mで除した剰
余)が同一のVRは同一のメモリ素子内に入れる
ことにより、セレクタの入力信号線数を8バイト
×2mにおさえ、VR数が増加してもセレクタの入
力信号線数はかわらないようにする。従つて、た
とえばVR1とVRi+2 m,VRi+2 m+1等は同一メモリ
素子に入れるため、ベクトル命令のR1,R2,
R3フイールドにこれらの関係にあるVRは同時
に指定できない。このため、命令実行前にVRの
指定の関係をあらかじめチエツクし、不当な指定
関係にある場合には実行を抑止する。
以下、本発明を実施例によつて詳しく説明す
る。第3図は本発明の詳細をあらわしたものであ
る。図中、11は命令レジスタのうち、レジスタ
指定フイールドのみをとり出したものである。R
1,R2,R3の各レジスタ指定フイールドはr
ビツトあるとし、このうち、下のmビツトが同時
に指定可能なベクトルレジスタ(VR)を指定す
るものとする。メモリ装置はM0からM2 m -1まで
の2m個用意し、メモリMiには、ベクトルレジス
タVRi,VRi+2 m,VRi+2 m+1,…,VRi+2r-2 mまで
の2r-m個を格納する。つまり、VRi,VRi+2 m
VRi+2 m+1,…,VRi+2 r -2 mは同時に指定すること
はできない。この指定をした場合には、命令の実
行ができないので実行を抑止する必要がある。こ
れを検出するために、レジスタ11の各レジスタ
指定フイールドの下mビツトを比較する。図にお
いて、12はR1,R2フイールドの比較器,1
3はR1,R3フイールドの比較器、23はR
2,R3フイールドの比較器で、比較器は下位m
ビツトの2つの入力がすべて一致すると出力が1
になるように構成されている。3つの比較器1
2,13,23の出力は16のオアゲートでオア
され、信号線17で制御回路(ここには図示して
いない)に報告される。R1,R2,R3フイー
ルドの下mビツトのいずれか2つ以上が等しい
と、信号線17が“1”となり、これが制御回路
に報告されて指定例外の割込みを起し、命令の実
行を抑止することになる。
一方、VRi,VRi+2 m,VRi+2 m+1…は、同一メ
モリ素子に入つているので、VR指定時にこれを
区別する必要がある。以下にこの方式を説明す
る。図は、2m個のVRのうちVRi,VRj,VRR
とりあげ、とくにVRiを詳細に示しているが各
VRはすべて同一の構成である。以下では、VRi
について詳細に説明する。
VRi中にある1iはメモリ素子で、DIはデー
タ入力、DOはデータ出力、Aはアドレス入力、
WEは書込み制御端子である。これは従来のVR
を構成するメモリ素子と同一である。ただし、メ
モリ素子内に、VRi,VRi+2 m,…,VRi+2 r -2 m
括して入つている点が従来と異なる。これを区別
するための区分レジスタが5iである。5iとア
ドレスレジスタ2iの出力をあわせて、メモリ素
子1iのアドレス入力とする。アドレスレジスタ
2iおよびその+1加算器4i、その出力のラツ
チ3iの制御は従来と同一である。区分レジスタ
5iはセレクタ6iの出力を保持する。セレクタ
6iには、レジスタ11の各フイールドの上位
(r−m)ビツトの出力71,72,73が選択
されるデータとして入力されている。また、これ
らの選択制御線として、レジスタ11の各フイー
ルドの下mビツトをデコーダ8,9,10でデコ
ードした出力8i,9i,10iが入力されてい
る。デコーダ8〜10は、入力データが2iのと
き、メモリ装置Miに接続された制御線8i,9
i,10iを1にするようになつている。セレク
タ6iは、制御線8iが1のとき入力データ線7
1を、制御線9iが1のとき入力データ線72
を、制御線10iが1のとき入力データ線73を
選択する。制御線が2つ以上1のときには前述の
ように別の回路でチエツクしているので、セレク
タ6iの動作は保障しなくてよい。セレクタ6i
により選ばれた(r−m)ビツトは、アドレスレ
ジスタ2i内のデータとともに、メモリ素子1i
をアクセスするアドレスを形成する。すなわち
(r−m)ビツトのデータは、メモリ素子1iを
2r-m個に分割して得られる領域の1つすなわち、
1つのベクトルレジスタ領域を指定し、アドレス
レジスタ2i内のデータは、この指定されたベク
トルレジスタ領域内のベクトル要素の1つを指定
するのに用いられる。
レジスタ指定フイールドR2,R3がたとえ
ば、メモリ装置Mj,Mk内のベクトルレジスタを
それぞれ指定していると、デコーダ9,10の出
力に応答してメモリ装置Mj,Mkから、これらの
レジスタ指定フイールドで指定されたベクトルレ
ジスタ内のアドレスレジスタで指定される要素が
それぞれセレクタ30,40へ続出される。セレ
クタ30,40は、それぞれ、レジスタ指定フイ
ールドR2,R3の下位mビツトに応答して、メ
モリ装置Mj,Mkの出力をセレクトし演算器(図
示せず)に出力する。図では、セレクタ30,4
0の制御信号線は省略してある。一方、レジスタ
指定フイールドR1が、たとえば、メモリ装置
Mi内のベクトルレジスタを指定しているとメモ
リ装置Miは、デコーダ8からの出力を書込み信
号(WE)端子に受けて、演算器による演算結果
を、レジスタ指定で指定されるベクトルレジスタ
内の、アドレスレジスタ2iで指定される要素領
域に書込む。
以上から分かるように、セレクタ30,40の
選択のための信号は、rビツトのレジスタ指定フ
イールドR2,R3の内のmビツトのみでよく、
ベクトルレジスタ数を増大させても、メモリ装置
数を増大させない限り、この信号数は増大しな
い。
以上のように、本発明によれば、演算器へ入力
するデータをセレクトするセレクタへの入力デー
タ数は、ベクトルレジスタの数よりも少くでき
る。メモリ素子1iは、実際には複数のメモリ素
子に分割してもよい。この場合には、第4図に示
すように通常のメモリ素子の入力端子の一つであ
るチツプイネーブル(CE)端子を利用し、先先
の説明におけるアドレス入力の内、(r−m)ビ
ツトをデコードするためのデコーダ20を設ける
とともに、その出力をCE端子に接続する。第4
図は、メモリ素子は従来と同一サイズのものを使
用し、増加させたVRの分つまり2r-m個だけメモ
リ素子m0〜m(2r-m−1)を追加させた場合の構
成を示す。この場合、区分レジスタ5iの内容が
デコーダ20によりデコードされ、対応するメモ
リ素子にチツプイネーブル信号が出力される。メ
モリ素子mo〜m(2r-m−1)の出力は、オアされ
てセレクタ30,40(第3図と同じもの)に入
力される。第4図において、区分レジスタへのデ
ータの書込み、書込み許可信号の発生、アドレス
レジスタの更新は、第3図の場合と同じ回路によ
り実現されるが、これらの回路は、簡単化のため
に図示されていない。
【図面の簡単な説明】
第1図はベクトル演算のようすを示す図、第2
図は従来のベクトルレジスタ制御を示す図、第3
図は本発明におけるベクトルレジスタ制御を示す
図、第4図は本発明におけるベクトルレジスタの
メモリ素子の構成の一例を示す図である。第3図
において1iは複数個のベクトルレジスタを入れ
たメモリ素子、2iは各ベクトルレジスタ内のベ
クトル要素をポイントするアドレスレジスタ、4
iは+1加算器、3iはその出力の保持レジス
タ、5iは、同一メモリ素子内にある複数ベクト
ルレジスタを区別するための区分レジスタ、6i
は、レジスタ指定の上位ビツトデータを選択する
セレクタ、8〜10はレジスタ指定の下位ビツト
のデコーダ、11は命令レジスタのレジスタ指定
フイールド部分、12,13,23はレジスタ指
定における同一番号指定検出用の比較器である。

Claims (1)

  1. 【特許請求の範囲】 1 共通のデータ入力端および共通のデータ出力
    端を介してそれぞれデータ入力およびデータ出力
    を行うように構成された複数のベクトルレジスタ
    からなるベクトルレジスタ群を複数有するように
    群分けされた複数のベクトルレジスタと、 少くとも一つの演算器と、 該複数のベクトルレジスタ群のデータ出力端の
    一つを該演算器の入力端に選択的に接続する手段
    と、 命令が指定するベクトルレジスタ番号に応答し
    て、該指定された番号のベクトルレジスタが属す
    る一つのベクトルレジスタ群のデータ出力端を選
    択するように該接続手段に指示し、該一つのベク
    トルレジスタに対して選択的に読み出し動作の実
    行を指示する制御手段と を有するベクトル処理装置。 2 該接続手段は、該複数のベクトルレジスタ群
    のデータ出力端の一つを該演算器の第1の入力端
    に接続する第1の接続手段と、該複数のベクトル
    レジスタ群のデータ出力端の一つを該演算器の第
    2の入力端に接続する第2の接続手段からなり、 該制御手段は、命令が指定する第1,第2のベ
    クトルレジスタ番号の各々に応答して、該第1,
    第2のベクトルレジスタ番号をそれぞれ有する第
    1,第2のベクトルレジスタが同一ベクトルレジ
    スタ群に属するか否かを判別する手段と、該第
    1,第2のベクトルレジスタが異なる群に属する
    ときに、該第1,第2のベクトルレジスタが属す
    るベクトルレジスタ群の出力端をそれぞれ該第
    1,第2の入力端に接続するように該第1,第2
    の接続手段に指示し、該第1,第2のベクトルレ
    ジスタに対して読み出し動作の実行を指示する手
    段とを有する第1項のベクトル処理装置。 3 該制御手段は該接続手段への接続の指令を、
    命令が指定するベクトルレジスタ番号の上位ビツ
    トに基づいて行い、該番号のベクトルレジスタへ
    の読み出しの指定は、該番号の下位ビツトに基づ
    いて実行するものである第2項のベクトル処理装
    置。 4 同一群内のベクトルレジスタは、共通のメモ
    リ装置内の異なる領域に形成されていることを特
    徴とする第1項から第3項のいずれか一つのベク
    トル処理装置。
JP7554880A 1980-06-06 1980-06-06 Vector register control system Granted JPS573172A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7554880A JPS573172A (en) 1980-06-06 1980-06-06 Vector register control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7554880A JPS573172A (en) 1980-06-06 1980-06-06 Vector register control system

Publications (2)

Publication Number Publication Date
JPS573172A JPS573172A (en) 1982-01-08
JPS6339945B2 true JPS6339945B2 (ja) 1988-08-09

Family

ID=13579352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7554880A Granted JPS573172A (en) 1980-06-06 1980-06-06 Vector register control system

Country Status (1)

Country Link
JP (1) JPS573172A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5965378A (ja) * 1982-10-06 1984-04-13 Fujitsu Ltd ベクトル処理装置のレジスタ連結処理方式
JPS6479860A (en) * 1987-09-21 1989-03-24 Hitachi Ltd Vector processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5493342A (en) * 1977-12-30 1979-07-24 Fujitsu Ltd Vector register

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5493342A (en) * 1977-12-30 1979-07-24 Fujitsu Ltd Vector register

Also Published As

Publication number Publication date
JPS573172A (en) 1982-01-08

Similar Documents

Publication Publication Date Title
US4654781A (en) Byte addressable memory for variable length instructions and data
KR960001273B1 (ko) 단일칩 마이크로컴퓨터
US4016545A (en) Plural memory controller apparatus
US3979728A (en) Array processors
US5410727A (en) Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices
US4155120A (en) Apparatus and method for controlling microinstruction sequencing by selectively inhibiting microinstruction execution
EP0218523B1 (en) programmable access memory
US3585605A (en) Associative memory data processor
JP3612186B2 (ja) データ処理装置
US3943494A (en) Distributed execution processor
US4584642A (en) Logic simulation apparatus
US4136383A (en) Microprogrammed, multipurpose processor having controllable execution speed
JPS58501560A (ja) マイクロプロセツサ
US3320594A (en) Associative computer
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
EP0136597B1 (en) Vector processor
EP0167959A2 (en) Computer vector register processing
US4754424A (en) Information processing unit having data generating means for generating immediate data
JPH02100737A (ja) データ転送制御装置
JPS62236038A (ja) 制御記憶装置
JPS6339945B2 (ja)
CA1183275A (en) Byte addressable memory for variable length instructions and data
US5388239A (en) Operand address modification system
JPS6132703B2 (ja)
EP0114683A2 (en) Arithmetic unit