JPS6252667A - ベクトルプロセツサ - Google Patents

ベクトルプロセツサ

Info

Publication number
JPS6252667A
JPS6252667A JP19210585A JP19210585A JPS6252667A JP S6252667 A JPS6252667 A JP S6252667A JP 19210585 A JP19210585 A JP 19210585A JP 19210585 A JP19210585 A JP 19210585A JP S6252667 A JPS6252667 A JP S6252667A
Authority
JP
Japan
Prior art keywords
vector
vector register
register group
instruction
program
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.)
Pending
Application number
JP19210585A
Other languages
English (en)
Inventor
Yasuhiro Inagami
稲上 泰弘
Shigeo Nagashima
長島 重夫
Koichiro Omoda
面田 耕一郎
Takayuki Nakagawa
貴之 中川
Teruo Tanaka
輝雄 田中
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 JP19210585A priority Critical patent/JPS6252667A/ja
Publication of JPS6252667A publication Critical patent/JPS6252667A/ja
Pending 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)
  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトル演算を高速で行なうベクトルプロセ
ッサに関し、特に、ベクトルデータを一時的に保持する
ためのベクトルレジスタ群を備えたベクトルプロセッサ
に関する。
〔発明の背景〕
ベクトルプロセッサは、科学技術計算の高速処理を目的
とし、一連のベクトルデータに対し一括して演算処理を
施すベクトル命令群を備え、これらのベクトル命令は、
通常、パイプライン構造の演算器により、高速に処理さ
れる。ベクトルプロセッサの多くは、主記憶と演算器の
間に位置するベクトルレジスタ群を有する。ベクトルレ
ジスタは、ベクトルデータを一時的に保持することを目
的として、主記憶と比較して充分速い読出し・書込み速
度を有し、パイプライン演算器に被演算データを高速で
供給し、そして、演算結果を高速で受入れる。
ベクトルレジスタに関する文献としては、例えば、米国
特許第4128880号明細書があり、また、これと実
質的に同じ技術内容を示すと考えられる” The C
RAY−I Computer System ”Ri
chardM、 Ru5sell 、 Communi
cations of the ACM 。
Vot、 21 、屋1.pp、63〜72 (Jan
、1978)がある。後者記載のベクトルプロセッサは
、8本のベクトルレジスタを備え、各ベクトルレジスタ
は、それぞれ別のベクトルデータを保持することができ
る。各ベクトルレジスタは、8バイト(64ピツト)長
の要素データを最大64要素まで収容することができ、
したがって、レジスタ群の総容量は4096バイトであ
る。現在我国で生産されているベクトルプロセッサの多
くは、容量が65536バイトのベクトルレジスタ群を
備えている。ベクトルレジスタは、ベクトルデータ相互
間の高速演算の処理にとって極めて有効な手段であり、
その効果は、容量が大きいほど著しい。半導体技術の進
歩につれて、ベクトルレジスタ群の容量はますます増加
する傾向にある。
反面、大容量のベクトルレジスタ群は、マルチプログラ
ミングあるいはタイムシェアリングの環境テベクトルプ
ロセッサを使用する場合ニ、次ノような問題を生じる。
マルチプログラミングシステムあるいはタイムシェアリ
ングシステムは、複数のプログラム又はタスクに対して
、プロセッサを短期間ずつ時分割で割当てることにより
、1台のプロセッサによる複数のプログラム又はタスク
の同時処理を可能にする。このような時分割共用を実現
するには、あるプログラムの処理を中断して別のプログ
ラムの処理へ移る時に、前者のプログラムの中断時にプ
ロセッサの各部にあった情報を適当な場所(例えば主記
憶)に保存し、中断さ−れたプログラムの再開時に、こ
れらの保存されていた情報を元に戻して、中断時の状態
を再現することが必要である。しかも、このような退避
・回復処理は、可能な限り短時間で完了することが望ま
しい。この処理に要する時間が長いほど、本来の演算処
理に使用しうる時間が短かくなシ、マルチプログラミン
グやタイムシェアリングの効果は薄れる。ベクトルレジ
スタ群の内容も、退避・回復が必要であり、それに要す
る時間は、ベクトルレジスタ群の容量に直接関係する。
例えば、汎用機である日立製作所のMシリーズデータ処
理装置では、タスクの中断・再開時に退避・回復すべき
レジスタ類は、32本の4バイト幅レジスタと、4本の
8バイト幅レジスタであり、それらの総容量は160バ
イトである。これに対して、同社のベクトルプロセッサ
S−810は、32本のベクトルレジスタを備え、それ
らの総容量は65536バイトに達し、これは、前記M
シリーズ装置のレジスタ容量の400倍を越える。この
ように大量の情報の退避・回復が甚だ長い時間を要する
ことは、いうまでもない。しかも、前記のように、ベク
トルレジスタ群の容量は、今後ますます増加の傾向にあ
る。しだがって、ベクトルプロセッサをマルチプログラ
ミングあるいはタイムシェアリングの環境で活用するた
めには、ベクトルレジスタ群の内容の退避・回復の問題
を解決することが不可欠である。
〔発明の目的〕
本発明の目的は、ベクトルレジスタ群を利用するベクト
ルプロセッサにおいて、プログラムやタスクの中断・再
開処理に要する時間を大幅に短縮することにあシ、具体
的には、ベクトルレジスタ群の内容の退避・回復のだめ
のデータ転送を不用にすることにある。
〔発明の概要〕
本発明は、複数のベクトルレジスタ群(ベクトルレジス
タ群空間)を用意し、各プログラム又はタスクに1つの
ベクトルレジスタ群空間を割当てる。各時点で有効なベ
クトルレジスタ群空間が指示され、有効なものとして指
示されたベクトルレジスタ群空間においてのみ、読出し
や書込みの動作が許される。有効なベクトルレジスタ群
空間の指示は、プログラムやタスクの切替え時に、次に
実行されるプログラムやタスクに割轟てられたベクトル
レジスタ群空間を指示するように、変更される。この変
更は、例えば、それ専用の命令を発行するだけで行うこ
とができ、ベクトルレジスタ群の内容の退避・回復のた
めに、それと主記憶の間で大量のデータを転送する必要
はない。
〔発明の実施例〕
第2図は、以下に説明する本発明の実施例が前提トスる
ベクトルプロセッサの全体の概要を示す。
このベクトルプロセッサは、主記憶1と、ロード・スト
ア回路2−1.2−2と、パイプライン構造の演算器3
−1.3−2と、命令制御部4と、ベクトルレジスタ制
御部5と、ベクトルレジスタ群6とからなる。ロード・
ストア回路2−1.2−2のそれぞれは、主記憶1とベ
クトルレジスタ群60間のデータ転送を制御する。演算
器3−1゜3−2のそれぞれは、ベクトルレジスタ群6
がら供給されるデータに対する演算処理をパイプライン
形式で遂行し、その結果をベクトルレジスタ群6に送る
。演算器3−1と演算器3−2は、異なる演算機能を持
ってもよい。例えば、一方を加算器とし、他方を減算器
とすることができる。ベクトルレジスタ制御部5は、ベ
クトルレジスタ群からの読出し、又はそれへの書込み1
制御する。命令制御部4は、命令を読出して解釈し、そ
の結果に従って各部を制御する。
第3図は、第2図に示したベクトルプロセッサで実行さ
れるベクトル命令のフォーマットを示したものである。
第3図において、02部はオペレーションコード部で1
、演算の種類を指定する。
R1,R,2,R3はレジスタ番号指定フィールドであ
シ、使用するレジスタの番号を指定する。
R1,R2,几3で指定されるレジスタの役割りは、0
1部で指定される演算の種類によって異なる。加算や乗
算などの演算系のベクトル命令では、R1部は、演算結
果を書き込むベクトルレジスタの番号を指定し、R2部
とR3部は、演算が施されるベクトルデータ(例えば加
算の場合は被加数と加数)が保持されているベクトルレ
ジスタの番号を指定する。主記憶からベクトルレジスタ
へベクトルデータを転送するロード系の命令では、R1
部は、主記憶から読出したベクトルデータを書込ムベク
トルレジスタの番号を指定し、R2部とR3は、読出す
べきベクトルデータの主記憶上の格納場所を示すアドレ
スレジスタの番号を指定する。ベクトルレジスタから主
記憶へベクトルデータを転送するストア系の命令では、
R1部は、主記憶へ転送するデータが保持されているベ
クトルレジスタの番号を指定し、R2部とR3部は、R
1部で指定されたベクトルレジスタから読出されたデー
タを格納する主記憶上の場所を示すアドレスレジスタの
番号を指定する。ロード系命令およびストア系命令に関
係するアドレスレジスタは、本発明に直接の関連がない
ので、その詳細な説明を省略する。
第4図は、ベクトルプロセッサによシ時分割で実行され
る2つのプログラムの例を示す。プログラムAとプログ
ラムBは全く独立で、相互の干渉はない。どちらのプロ
グラムも、本実施例の説明に必要々部分だけが図示され
ている。プログラムAは、配列Bの第1番目の要素と配
列Cの第I番目の要素とを乗じ、その結果に配列りの第
I番目の要素を加算して、結果を配列Aの第1番目の要
素に格納し、これをIが1から100まで繰返すもので
ある。プログラムBは、配列Qの第5番目の要素と配列
凡の第5番目の要素を加算し、その結果に配列Sの第5
番目の要素を乗じて、結果を配列Pの第5番目の要素に
格納し、これをJが1から100まで繰返すものである
。どちらのプログラムもベクトル命令語で記述されてい
る。
記号A−1〜A−6及びB−1〜B−6は1個個のベク
トル命令を識別するだめに便宜上付された番号であって
、特別の意味はない。VL、VEA。
VSTld、ベクトル命令の演算の種類を示すニモニッ
クコードである。VL (Vector Load)は
ベクトルロード命令であって、主記憶からベクトルデー
タを読出して、命令のR1部で指定されるる ベクトルレジスタに格納す4命令である。主記憶のアド
レスは、命令のR2部とR3部で指定されるアドレスレ
ジスタの内容から決定される。
V E M (Vector Elementwi s
e Multiply)は、ベクトル乗算命令であって
、命令のR2部とR3部で指定されるそれぞれのベクト
ルレジスタの内容を要素ごとに乗算して、結果を命令の
R1部で指定されるベクトルレジスタに格納する命令で
ある。VEA (Vector Elementwis
e Add )は。
ベクトル加算命令であって、命令のR2部とR3部で指
定されるそれぞれのベクトルレジスタの内容を要素ごと
に加算して、結果を命令のR1部で指定されるベクトル
レジスタに格納する命令である。V S T (Vec
tor 5tore )は、ベクトルストア命令であっ
て、命令のR,1部で指定されるベクトルレジスタの内
容を主記憶へ格納する命令である。主記憶のアドレスは
、命令の几2部とR3部で指定されるアドレスレジスタ
の内容から決定される。VR,O,VTLI、VR2,
VR3,VR4は、ベクトルレジスタの第0番、第1番
、第2番。
第3番、第4番を、それぞれ表わす。VL命令とVST
命令のR2部とR3部は、実際には、前述のように、そ
れぞれアドレスレジスタを指定し、これらのアドレスレ
ジスタの内容から主記憶上のベクトルデータ(配列)の
所在が決定される。しかしながら、第4図においては、
説明を簡単にするため、R2部とR3部の内容の代−シ
に、主記憶上の配列の名称自体が、複線文字で表記され
ている。
プログラムAの処理内容の概要は、次のとお9である。
ベクトル命令A−1は、主記憶上のベクトルデータB(
配列Bの第1番目から第100番目までの要素B1〜B
too )を、第0番ベクトルレジスタ中に一括して読
出す。ベクトル命令A−2とA−3は、同様に、ベクト
ルデータCとDを第1番と第2番のベクトルレジスタに
、それぞれ読出す。ベクトル命令A−4は、第0番ベク
トルレジスタ中中のベクトルデータBと、第1番ベクト
ルレジスタ中のベクトルデータCとを、要素ごとに乗算
して、結果を第3番ベクトルレジスタに格納する。ベク
トル命令A−5は、ベクトル命令A −4により得られ
た乗算結果(第3番ベクトルレジスタの内容)と、第2
番ベクトルレジスタ中のベクトルデータDを、要素ごと
に加算して、結果を第4番ベクトルレジスタに格納する
。ベクトル命令A−6id、第4番ベクトルレジスタに
得られた演算結果を、ベクトルデータAとして主記憶に
格納する。プログラムBは、算術演算の種類の相違を除
けば、プログラムAと本質的に同じであり、したがって
、その説明は省略する。
プログラムAとプログラムBは、時分割で交互に実行さ
れる。まず、プログラムAが実行され(矢印■)、命令
人:]の実行が完了した時点でタスクスイッチAが起と
シ、プログラム人の実行は中断されて、プログラムBの
実行が開始される。
プログラムBは、それ以前に命令B−1の1つ前の命令
1で実行が完了していたとして、命令旦」から実行が再
開される(矢印■)。プログラムBスクスイッチBが起
こり、プログラムBの処理が中断されて、プログラム人
の処理が再開される。
プログラムAは命令A−4が完了した時点で中断されて
いたので、再開は命令A−5から行われる(矢印■)。
プログラムAの処理が命令A−6まで進んだ時に再びタ
スクスイッチCが起こり、プログラムAの処理が中断さ
れて、プログラムBの処理が命令B−4から再開される
(矢印■)。前述のタスクスイッチの生起時期は単なる
例示であって、どの命令まで実行された時点でタスクス
イッチが起こるかということは1本発明の本質とは関係
がない。
タスクスイッチが発生した時の処理は%第4図には示さ
れていないが、オペレーティングシステムが行う。この
処理は、実行されていたプログラムの中断と、次に処理
するプログラムの実行再開の他に、中断されたプログラ
ムのその時点における状態を、レジスタ類の内容を含め
、後刻の再開に備えて、完全に保存することと、再開さ
れるプログラムの保存されていた状態を、完全に回復す
ることである。
このような保存・回復処理を、従来のベクトルプロセッ
サではどのように行っていたかについて。
以下に述べる。第4図において、タスクスイッチAが発
生した時に、オペレーティングシステムは次の処理を行
う。
(1)プログラムAの処理が命令A−4まで完了したこ
とを記憶する。
(2)ベクトルレジスタを始めとするレジスタ類の内容
を、すべて主記憶に格納し、保存する。
後で再開される処理においてどのレジスタが使用される
かは、一般的にはわからないので、レジスタ類の内容は
すべて保存する必要がある。
(3)タスクスイッチAの前のタスクスイッチでプログ
ラムBの処理が中断された時に主記憶に保存したレジス
タ類の内容を、すべて対応するレジスタに戻す。この中
にはベクトルレジスタも含まれる。
(4)命令B−1からプログラムBの実行を再開する。
同様に、タスクスイッチBが発生した時には、オペレー
ティングシステムは次の処理を行う。
(1)プログラムBの処理が命令B−3まで完了したこ
とを記憶する。
(2)  レジスタ類の内容を、すべて主記憶に格納し
、保存する。
(3)  タスクスイッチAの生起時に一主記憶に保存
したレジスタ類の内容を、すべて対応するレジスタに戻
す。
(4)タスクスイッチAの生起時にプログラムAの処理
が命令人:」まで完了していたことの記憶に基づき、命
令A−5から処理を再開する。
タスクスイッチCの処理は、前記と同様であるので、詳
細な説明は省略する。
前述のような従来のベクトルプロセッサにおけるタスク
スイッチの処理に生じる困難は、前にも触れたように、
ベクトルレジスタ群の内容の保存(退避)と回復にある
。これらの処理のだめに。
第4図の場合には、VST命令とVL命令が使用される
ことになろう。そこで、32本のベクトルレジスタがあ
るとすれば、中断されるプログラムのためのベクトルレ
ジスタ内容の保存に32個のVST命令が必要であシ、
再開されるプログラムのだめのベクトルレジスタ内容の
回復に32個のVL命令が必要であシ、合計64個のロ
ード/ストア系命令が実行されねばならない。例えば、
第4図において、タスクスイッチBの処理に際して、ベ
クトルレジスタ内容の保存と回復だけで64個のベクト
ル命令を実行したあげく、プログラムA中の僅か3個の
ベクトル命令を実行した時点で、次のタスクスイッチC
が生起する。すなわち、全動作時間のごく僅かな部分が
、本来の目的であるデータ処理に利用されるにすぎない
。本発明は、この問題を解決するものである。
第1図は、本発明におけるベクトルレジスタ制御部及び
ベクトルレジスタ部の実施例を示したものである。第1
図において、ベクトルレジスタ制御部5及びベクトルレ
ジスタ部6は、それぞれ第2図におけるベクトルレジス
タ制御部5及びベクトルレジスタ群6に対応している。
本発明の実施例におけるベクトルレジスタ部6の構成は
1次のとおシである。ベクトルレジスタ群61は、第0
番から第0番まで番号付けされた、互いに独立して読出
し/書込み可能な(n+1 )本のベクトルレジスタV
RO〜VRnよ構成る。ベクトルレジスタ群61は、従
来のベクトルプロセッサにおけるベクトルレジスタ群に
相当するものである。ベクトルレジスタ群62〜ベクト
ルレジスタ群63ば、それぞれベクトルレジスタ群61
と全く同じ構造である。本実施例では、ベクトルレジス
タ群61と同一構造のベクトルレジスタ群が(m+1)
個17、各ベクトルレジスタ群は互いに独立していて、
それぞれ1個のベクトルレジスタ群空間を形成し、これ
らの(m+1)個のベクトルレジスタ群空間がベクトル
レジスタ部を構成する。ベクトルレジスタ部を構成する
各ベクトルレジスタ群空間には、第0番から第m番まで
の番号付けがなされて区別される。ベクトルレジスタの
本数nとベクトルレジスタ群空間の個数mは1本発明の
本質とは関係ないが、一般には多いほどよい。
書込みスイッチマトリクス64は、第2図に示したロー
ド・ストア回路2−1.2−2及び演算器3−1.3−
2からベクトルレジスタへの、データバスの結合関係を
動的に変更し、任意のロード・ストア回路又は任意の演
算器から任意のベクトルレジスタへの、データ書込みを
可能にするものである。ロード・ストア回路及び演算器
とベクトルレジスタとの結合関係は、実行されるベクト
ル命令により指定される。読出しスイッチマトリクス6
5は、読出しと書込みが異なる点をのぞいては、書込み
スイッチマトリクス64と同様である。すなわち、それ
は、任意のベクトルレジスタから任意のロード・ストア
回路又は任意の演算器への、データの供給を可能にする
もので、実行されるベクトル命令で指定されるベクトル
レジスタから読出されたベクトルデータを、対応するロ
ード・ストア回路又は演算器に送出する。書込みスイッ
チマトリクス64から各ベクトルレジスタへ至るデータ
バスと、各ベクトルレジスタから読出しスイッチマトリ
クス65へ至るデータバスは、全ベクトルレジスタ群空
間に同等に接続されている。
ベクトルレジスタ部6を制御するベクトルレジスタ制御
部5の構成は、次のとおりである。レジスター演算器/
ロード・ストア回路対応表51及び52は、それぞれ書
込みスイッチマトリクス64及び読出しスイッチマトリ
クス65を制御する回路であって、第2図の命令制御部
4で解読されたベクトル命令の実行が開始されるときに
、ロード・ストア回路又は演算器と、ベクトル命令で指
定されたベクトルレジスタとの結合関係を、命令制御部
4より信号線101を介して受は取り、保持する。保持
された内容は、直ちに書込みスイッチマトリクス64あ
るいは読出しスイッチマトリクス65に反映される。書
込み制御回路53゜54.55は、それぞれベクトルレ
ジスタの第0番(VRO) 、第1番(VR,1) 、
第0番(VRn)の、データ書込み制御を行う回路であ
る。1ベクトルレジスタ群空間に含まれるベクトルレジ
スタと同数、すなわち(n+:t)個の書込み制御回路
があるが、第1図では3個だけが示されている。同一番
号のベクトルレジスタが、各ベクトルレジスタ群空間に
1個ずつ、合計(m+1 )個存在するが、ある番号の
ベクトルレジスタの書込み制御回路53からの制御信号
線は、これら(m+1)個のすべての同一番号のベクト
ルレジスタに接続されている。書込み制御回路53,5
4.55は、第2図の命令制御部4でベクトル命令が解
読されて、その実行が開始されるときに、制御線102
を介して送られてくるベクトルレジスタ番号や処理ベク
トル要素数などの制御情報に基づいて、ベクトルデータ
の書込み開始から終了までを制御する。
読出し制御回路56,57.58は、それぞれベクトル
レジスタの第O番、第1番、第n番のデータの読出し制
御を行う回路である。それらの構成と機能は、制御内容
が読出しと書込みとで異なる点を除いては、書込み制御
回路53. 54. 55と同等であるので、詳細な説
明を省略する。
ベクトルレジスタ群空間番号制御回路59は、本発明を
最も特徴づける回路であって、あるベクトルレジスタか
らデータを読出したp、あるいはそこに書込んだりする
ときに、(m+1)個あるベクトルレジスタ群空間のい
ずれに属するベクトルレジスタに対してそれを行うかを
、制御する回路である。ベクトルレジスタ群空間番号制
御回路59は、0からmまでのいずれかの値を絶えず示
し、この値は、その時に行なわれる処理に関して有効な
ベクトルレジスタ群空間を示す。この値に対応しないも
のは、その時の処理に関して無効なベクトルレジスタ群
空間である。ベクトルレジスタの読出しあるいは書込み
の動作は、ベクトルレジスタ群空間番号制御回路59が
示す有効なベクトルレジスタ群空間上で行われる。この
ような選択的アクセスは、ベクトルレジスタ群空間番号
制御回路59から制御線105を介して通知される有効
ベクトルレジスタ群空間指示信号に従い、有効なベクト
ルレジスタ群空間だけに動作を許可し。
無効なベクトルレジスタ群空間の動作を禁止することに
より、実現される。有効なベクトルレジスタ群空間番号
の設定と変更は、後述のベタトル−レジスタ群空間番号
設定命令(SVR8PN命令)により行われる。5VR
8PN命令が第2図の命令制御部4で解読されると、そ
の時点で実行中であったすべてのベクトル命令の完了を
待って′、命令で指定されたベクトルレジスタ群空間番
号が、制御線104を介してベクトルレジスタ群空間番
号制御回路59に送られて、有効ベクトルレジスタ群空
間番号が変更される。また、装置の・(ツーオン時には
、例えば0番といった予め定められた値に。
有効ベクトルレジスタ群空間番号が自動的に設定される
ようにしてもよい。
第1図に示したようなベクトルレジスタ機構を有スルベ
クトルプロセッサにおいて、例えば、第4図に示したプ
ログラムのベクトル命令A−5の処理は2次のようにし
て行われる。このとき、有効ベクトルレジスタ群空間番
号ばOに設定されているものとする。ベクトル命令戊:
」が第2図の命令制御部4で解読されると、使用する演
算器と読出し又は書込みを行うベクトルレジスタとの結
合関係が、信号線101を通じて レジスター演算器/
ロード・ストア回路対応表51.52に通知される。命
令A−5の場合は、レジスター演算器/ロード・ストア
回路対応表51には、演算器3−1と演算結果を書込む
第4番ペクト・ルレジスタが、また、レジスター演算器
/ロード・ストア回路対応表52には、演算器3−1−
と演算データを読出す第2番及び第3番のベクトルレジ
スタが、結合関係として通知される。また、命令制御部
4からは、制御線102および制御線103を介して、
第4番ベクトルレジスタの書込み制御回路と。
第2番及び第3番のベクトルレジスタの各読出し制御回
路(いずれも第1図では省略されている)に、それぞれ
書込み及び読出し制御情報が与えられる。
レジスター演算器/ロード・ストア回路対応表51に通
知された情報に従い、書込みスイッチマトリクス64に
おいて、演算器3−1からのデータバスと、第4番ベク
トルレジスタへの書込みデータバスとが結合される。ま
た、レジスター演算器/ロード・ストア回路対応表52
に通知された情報に従い、読出しスイッチマトリクス6
5において、第2番ベクトルレジスタ及び第3番ベクト
ルレジスタからの読出しデータノくスと、演算器3−1
へのデータバスとが結合される。次に、第2番ベクトル
レジスタの読出し制御回路と第3番ベクトルレジスタの
読出し制御回路の制御に従い、第0番のベクトルレジス
タ群空間の第2番ベクトルレジスタと第3番ベクトルレ
ジスタから、順次データが読出され、読出しスイッチマ
トリクス65を介して演算器3−1へ送られる。この時
、第0番のベクトルレジスタ群空間は1番号0が設定さ
れたベクトルレジスタ群空間番号制御回路59からの信
号105に従って選択される。演算器3−1で演算され
た演算結果は、書込みスイッチマトリクス64を介して
、第4番ベクトルレジスタの書込み制御回路の制御に従
って、第0番のベクトルレジスタ群空間の第4番ベクト
ルレジスタに順次書込まれ、命令A−5の処理が完了す
る。
次に、ベクトルレジスタ群空間番号の設定あるいは変更
を行うための5VR8PN命令(SetVector 
Register 5pace Number)につい
て説明する。第6図は、5VR8PN命令のフォーマッ
トの一例を示した図である。5VR8PN命令は、命令
の種類を示すOPフィールドと、1個のオペランドフィ
ールドよりなり、オペランドフィールドは、ベクトルレ
ジスタ群空間番号が格納されている主記憶上のアドレス
を与える。第2図に示したベクトルプロセッサにおいて
、命令制御部4ば。
SVR,SPN命令を解読すると、そのオペランドフィ
ールドで示される主記憶上のアドレスに格納されている
ベクトルレジスタ群空間番号を読出す。
次に、5VR8PN命令を解読した時に実行中であった
すべてのベクトル命令の完了を待って、主記憶より読出
したベクトルレジスタ群空間番号を、第1図の信号線1
04を介して、ベクトルレジスタ群空間番号制御回路5
9に通知する。ベクトルレジスタ群空間番号制御回路5
9は、制御線105を介して、新たに指定されたベクト
ルレジスタ群空間の動作を許可し、その他のベクトルレ
ジスタ群空間の動作を禁止する。以上のような5VR8
PN命令の処理が完了した後は、ベクトルレジスタの読
出しあるいは書込みは、この5VR8PN命令で指定さ
れたベクトルレジスタ群空間に対して行われる。
次に、第1図に示したベクトルレジスタ制御部及びベク
トルレジスタ部を持つベクトルプロセッサにおいて、第
4図に示したタスクスイッチの処理がどのように行われ
るかについて説明する。第1図に示すようなベクトルレ
ジスタ機構を持つベクトルプロセッサにおいて、マルチ
プログラミングシステムやタイムシェアリングシステム
をサポートするときには、プログラムあるいはタスクご
とに1個のベクトルレジスタ群空間を割当てることを基
本とする。どのタスクにどのベクトルレジスタ制御部を
割当てるかについては、オペレーティングシステムが管
理する。いま、第4図の例において、ヲログラムAには
第0番のベクトルレジスタ群空間が割当てられ、プログ
ラムBには第1番のベクトルレジスタ群空間が割当てら
れているものとする。しだがって、プログラムAを処理
するときのベクトルレジスタの読出しと書込みは、第0
番のベクトルレジスタ群空間で行われ、プログラムBを
処理するときのベクトルレジスタの読出しと書込みは、
第1番のベクトルレジスタ群空間で行われる。
第4図において、プログラムAの命令友ニュからA−4
まで(矢印■)を処理している間は、第1図のベクトル
レジスタ群空間番号制御回路59が示す有効ベクトルレ
ジスタ群空間番号はOを保つ。しだがって、命令表:」
からA−4までの処理におけるベクトルレジスタの読出
し又は書込みは、第0番のベクトルレジスタ群空間で行
われる。
プログラムAの命令A−4の処理が完了して、タスクス
イッチAを処理する時に、オペレーティングシステムは
前述の5VR8PN命令を発行して、有効ベクトルレジ
スタ群空間番号をOから工に変更し、次いで、制御をプ
ログラムBの命令1二」に移す。以降、命令旦二」から
命令B−34での処理が行われ、この間、これらのベク
トルロード命令によりデータが書込まれるベクトルレジ
スタは、すべて第1番のベクトルレジスタ群空間に属す
るベクトルレジスタである。
プログラムBの命令B−3の処理が完了して、タスクス
イッチBを処理する時には、オペレーティングシステム
は再び5VR8PN命令を発行して、有効ベクトルレジ
スタ群空間番号を1から0に変更し、制御をプログラム
人の命令A−5に移す。
以降、命令へ二」及びA−6の処理が行われ、これらの
命令の処理で読出しあるいは書込みが行われるベクトル
レジスタは、第0番のベクトルレジスタ群空間に属する
ものである。プログラムAが命令表:1の処理完了時に
中断された後、プログラムBが処理されていた間は、第
0番のベクトルレジスタ群空間は無効状態となっておシ
、読出しあるいは書込みが全く行われておらず、命令友
:土の処理が完了して中断されたときの状態をそのまま
保存している。したがって、タスクスイッチBの処理に
おいて、第0番のベクトルレジスタ群空間を有効として
店命令人−5からプログラム人の処理を再開した時には
、中断した時のベクトルレジスタの内容が完全に回復さ
れ、その結果、プログラム人の処理は、あたかも中断が
なかったかのように進行することができる。
プログラムAの命令り二重の処理が完了して、タスクス
イッチCを処理する時には、オペレーティングシステム
は再度5VR8PN命令を発行して、有効ベクトルレジ
スタ群空間番号をOから1に変更し、次いで、命令l二
1からプログラムBの処理を再開する。以降、命令−m
二」ないしB−6の処理において、読出し又は書込みが
行われるベクトルレジスタは、第1番目のアドレスレジ
スタ群空間に属するものである。タスクスイッチCの生
起までプログラムBの処理が中断されていた期間中、第
1番のベクトルレジスタ群空間のベクトルレジスタは、
読出し又は書込みを全く受けなかったので、プログラム
Bの再開は正しく行なわれる。
システムの保全性を考慮して、5VR8PN命令をいわ
ゆる特権命令とし、オペレーテイングシステムのみがこ
れを使用できるようにするのが望ましい。
〔発明の効果〕
本発明によれば、プログラムやタスクの中断・再開処理
において、ベクトルレジスタ群の内容の退避・回復のた
めに大量のデータを転送する必要がなく、有効ベクトル
レジスタ群空間番号を変更するだけですみ、それには単
一の命令を発行するだけでよい。したがって、中断・再
開処理に要する時間が大幅に短縮され、高能力のベクト
ルプロセッサを、マルチプログラミング、タイムシェア
リングその他の、プログラムやタスクの中断・再開が頻
発する環境で、効率よく働かせることができる。
【図面の簡単な説明】
第1図は本発明の一実施例におけるベクトルレジスタ機
構のブロックダイヤグラム、第2図はベクトルプロセッ
サのブロックダイヤグラム、第3図はベクトル命令のフ
ォーマット図、第4図は中断・再開が行われる2つのプ
ログラムの模式図、第5図は有効ベクトルレジスタ群空
間番号設定命令のフォーマット図である。 5・・・ベクトルレジスタ制御部、6・・・ベクトルレ
ジスタ部、53〜54・・・ベクトルレジスタ書込み制
御回路、56〜57・・・ベクトルレジスタ読出し制御
回路、59・・・ベクトルレジスタ群空間番号制御回路
%61〜63・・・ベクトルレジスタ群空間、VRO〜
VRn・・・ベクトルレジスダ、64・・・書込みスイ
ッチマトリクス、65・・・読出しスイッチマトリクス

Claims (1)

  1. 【特許請求の範囲】 1、主記憶と演算部の間にベクトルレジスタ群を有する
    ベクトルプロセッサにおいて、それぞれが一定数のベク
    トルレジスタからなる複数のベクトルレジスタ群空間と
    、前記複数のベクトルレジスタ群空間の1つを指示して
    指示されたベクトルレジスタ群空間に属するベクトルレ
    ジスタに対してのみ書込み及び読出し動作を許容する有
    効ベクトルレジスタ群空間指示手段と、前記有効ベクト
    ルレジスタ群空間指示手段におけるベクトルレジスタ群
    空間の指示を変更する手段とを備えたベクトルプロセッ
    サ。 2、特許請求の範囲1において、そのベクトル群空間の
    指示を変更する手段は特定種類の命令に応答して変更動
    作を行なう手段を含むベクトルプロセッサ。 3、特許請求の範囲2において、その特定種類の命令は
    特定のプログラムにのみその実行が許された特権命令で
    あるベクトルプロセッサ。 4、特許請求の範囲1、2又は3において、そのベクト
    ルプロセッサは並行して処理すべき複数のプログラム又
    はタスクを持ち、そのベクトルレジスタ群空間のそれぞ
    れは前記プログラム又はタスクの異なる1つに割当てら
    れ、そのベクトルレジスタ群空間の指示を変更する手段
    は前記プログラム又はタスクの実行の中断・再開時に変
    更動作を行なうベクトルプロセッサ。
JP19210585A 1985-09-02 1985-09-02 ベクトルプロセツサ Pending JPS6252667A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19210585A JPS6252667A (ja) 1985-09-02 1985-09-02 ベクトルプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19210585A JPS6252667A (ja) 1985-09-02 1985-09-02 ベクトルプロセツサ

Publications (1)

Publication Number Publication Date
JPS6252667A true JPS6252667A (ja) 1987-03-07

Family

ID=16285738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19210585A Pending JPS6252667A (ja) 1985-09-02 1985-09-02 ベクトルプロセツサ

Country Status (1)

Country Link
JP (1) JPS6252667A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623698A (en) * 1993-04-30 1997-04-22 Cray Research, Inc. Memory interconnect network having separate routing networks for inputs and outputs using switches with FIFO queues and message steering bits

Similar Documents

Publication Publication Date Title
US4951193A (en) Parallel computer with distributed shared memories and distributed task activating circuits
CA1242281A (en) Vector processing
JP2004220070A (ja) コンテキスト切り替え方法及び装置、中央演算装置、コンテキスト切り替えプログラム及びそれを記憶したコンピュータ読み取り可能な記憶媒体
JPH03219345A (ja) 多ポートキャッシュメモリ制御装置
JP2531648B2 (ja) メモリ装置
KR0137096B1 (ko) 마이크로프로세서
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPS58121457A (ja) 情報処理装置
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JPS6252667A (ja) ベクトルプロセツサ
Maekawa et al. Experimental polyprocessor system (EPOS)—Architecture
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0754467B2 (ja) データ処理装置
JPS60214044A (ja) マイクロコンピュ−タ
JPH05165641A (ja) シングルチップマイクロコンピュータ
JP3299663B2 (ja) 演算装置
JPS6352240A (ja) デ−タ処理装置
JPS6343782B2 (ja)
JPS59173864A (ja) 主記憶制御方式
JPH0256029A (ja) 汎用レジスタ切換方式
JPH01309176A (ja) ベクトル複合命令制御方式
JPS6239779B2 (ja)
JPS6343783B2 (ja)
JPS6267648A (ja) 排他制御命令処理方式
JPH10289113A (ja) 計算機のレジスタコンテキストの保存/復元方式