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

ベクトルプロセツサ

Info

Publication number
JPS61233865A
JPS61233865A JP7483785A JP7483785A JPS61233865A JP S61233865 A JPS61233865 A JP S61233865A JP 7483785 A JP7483785 A JP 7483785A JP 7483785 A JP7483785 A JP 7483785A JP S61233865 A JPS61233865 A JP S61233865A
Authority
JP
Japan
Prior art keywords
vector
task
register
instruction
task switching
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
JP7483785A
Other languages
English (en)
Inventor
Naoya Ono
直哉 大野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7483785A priority Critical patent/JPS61233865A/ja
Publication of JPS61233865A publication Critical patent/JPS61233865A/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

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は科学技術計算を高速に行なうためのベクトルプ
ロセッサに関し、特にベクトルプロセッサにおいて高速
にタスクスイッチを可能にする技術に関する。
(従来技術とその問題点) ベクトルプロセッサはその内部に複数の演算バイブライ
ン、複数のベクトルレジスタセットからなるベクトルレ
ジスタを持ちベクトル命令によ〕ベクトルレジスタセッ
ト内の全データに対して一括して高速に演算、転送等の
処理全高速に行なうことができる。これによシ、偏微分
方程式等の科学技術計算を高速に実行できるという特徴
があることが知られている(日経エレクトロニクス(1
983,4,11)109頁)。
しかしながら、ベクトルプロセッサ上で複数のタスクを
実行しようとする場合(即ちマルチタスキング全行なう
場合)には、タスクがベクトルレジスタセラトラ使用し
ている場合にはタスクの切り替えに際して使用中のベク
トルレジスタセットを待避/格納する必要があるが、従
来はベクトルレジスタセットが使用中であるかどうかを
ハードウェア的に管理する手段がなかったためにタスク
がベクトルレジスタセラトラ頻繁には使用しないもので
あってもあるいは全ベクトルレジスタセットを使用しな
いものであっても一律に使用するものとしてタスク切り
替えに際しては全ベクトルレジスタセットを常に待避/
格納する必要がありこれがマルチタスクを行なうベクト
ルプロセッサの能力を低下せしめるという問題点があっ
た。
(発明の目的) 本発明の目的は、全ベクトルレジスタが未使用状態か否
かを検出する手段上もつことにより、タスクの切換え要
求が発生した時点で、未使用状態の場合には直ちにタス
ク切換えを行い、未使用状態でない場合には、このタス
ク切換え要求全保持し、全ベクトルレジスタが未使用に
なった時点でタスク切換えを行うことにより、ベクトル
レジスタの退避/格納を行うことなくタスクの切換えを
行えるようにしタスク切換えのオーバヘッドを減少させ
処理能力の向上したベクトルプロセッサを提供すること
にある。
(発明の構成) 本発明の装置は、複数個のレジスタセットからなるベク
トルレジスタをそなえるベクトルプロセッサにおいて、
全ベクトルレジスタセットが未使用であることを検出す
る検出手段と、Φすがベクトルプロセッサにおいてタス
ク切り換えの要求を生成するタスク切換要求生成手段と
、前記タスク切換要求生成手段によ〕タスク切り換えの
要求が生成された場合に前記検出手段が全ベクトルレジ
スタセクトが未使用であることを検出している場合には
直ちにタスク切り換えを行まい検出してい表い場合には
このタスク切り換えの要求を保留し前記検出手段が全ベ
クトルレジスタセットが未使用であることを検出した時
点で前記保留されているタスク切換え要求に基づきタス
ク切り換えを行なうタスク切り換え手段とを含んで構成
される。
(実施例) 次に本発明の実施例について図面を参照して詳細に説明
する。
以下説明する実施例においては、ベクトル命令として、
ベクトルロード命令、ベクトルストア命令、ベクトル演
算命令が設けられている。
ベクトルロード命令は、第2図(blに示すフォーマッ
ト’6もち、第1オペランドop r lで指定される
汎用レジスタに格納されているアドレスから始まる主記
憶上の64ワードのデータを第2オペランドapr2で
指定されるレジスタセットに格納する。
ベクトルストア命令は、同じ<3g2図(blに示すフ
ォーマツ)lもち、第1オペランドoPr1で指定され
るレジスタセットのデータを第2オペランドopr2で
指定される汎用レジスタに格納されているアドレスから
始まる主記憶の64ワードの記憶位置に格納する。
ベクトル演算命令は、第2図fa)に示すフォーマット
をもち、第1オペランド0prlで指定されるレジスタ
セットと第2オペランドopr2で指定されるレジスタ
セットとの内容に対して命令コードOPC,で指定され
る演算を行い、結果を第3オペランドopraで指定さ
れたレジスタセットに格納する。
第1図は本発明の一実施例を示すプロツク図である。
本実施例において、ベクトルレジスタVRは、64個の
レジスタセットR80〜8863からなシ、各レジスタ
セラ)R8iは、64ワードのレジスタR,i、0−R
l1631にもつ。
また、演算パイプラインとしては、論理演算用加減算用
9乗算用、除算用としてPI、P2.P3およびP4が
設けられる。
各演算パイプラインは第1および第2の2個の入力およ
び1個の出力をもち、第1の入力には、ベクトル演算命
令の第1オペランドQPrlで指定されたベクトルレジ
スタセットの出力が印加され。
第2の入力には、同じくベクトル演算命令の第2オペラ
ンドoPr2で指定されたベクトルレジスタセットの出
力が印加される。また、各パイプラインの出力は、ベク
トル演算命令の第3オペランドo p r 3テT’f
l 定されるベクトルレジスタセットに印加される。
各レジスタセットR8iは2つの出力をもつ。レジスタ
セットR8O〜R,863の第1の出力は選択信号SS
1により、選択され選択された出力が各パイプラインP
1〜P4の第1の入力および書込データレジスタWDR
に印加されている。同じく、レジスタセラ)Rho〜R
863の第2の出力は、選択信号882により選択され
、選択された出力が各演算パイプラインP1〜P4の第
2の入力に印加される。
6        レジスタセットkLSO〜l(,8
63の入力には、演算パイプラインP1〜P4の出力お
よび読出しデータレジスタl(、DRの出力が印加され
ておυ、選択信号883により選択されたレジスタセッ
トに対してデータの書込みが可能となっている。
書込みデータレジスタWDRの出力は主記憶MMに印加
され主記憶MMの出力は、読出しデータレジスタR,D
Rに印加されている。
命令レジスタエ凡は、実行すべき命令を保持するレジス
タであり、その命令コード部opこの出力は、命令デコ
ーダ実行制御部DCDに印加されている。第1オペラン
ド部oprlの出力は、選択信号881として、第1オ
ペランドとして指定されたレジスタセットの選択に使用
される。第2オペランド%6Pr2の出力は、ベクトル
演算命令の場合には第2オペランドの選択のための信号
線882として使用され、ベクトルストア命令の場合に
は、書込みのためのレジスタセット選択信号883とし
て使用される。第3オペランド部oPr3の出力は、ベ
クトル演算命令の場合に、結果を格納すべきレジスタセ
ットの選択信号883として使用される。
命令デコーダ実行制御部DCDは、命令レジスタ上の命
令を解読し、その命令で指定された動作を行う。
ベクトル演算命令の1つであるベクトル加算命令の実行
について簡単に説明する。
命令デコーダ実行制御部DCDは、命令レジスタセット
の命令がベクトル加算命令であることを命令コード部□
pQの値によシ識別すると、演算パイプラインP2での
演算として加算を指定したうえで第1オペランドopr
lで指定されるレジスタセットR8iおよび、第2オペ
ランドOp r 2 で指定されるレジスタセットR,
Sjの各々第07−ド(Rt、O)、(Rj 、o)か
ら、各クロック毎に順次第1ワード(Ri 、1)、(
Rj、1)、第2ワード(Ri、2)、(几j、2)、
と読出してゆき演算パイプラインP2に印加するととも
に演算パイプラインP2から、第Oワードに対する演算
結果が得られた時点でこれを第3オペランド0pr3で
指定されるレジスタセラ)48にの第Oワード(1(、
に、0)K格納し、各クロック毎に次々に演算パイプラ
インP2の出力にあられれる第1゜第2.・・・ワード
に対する結果も順次(R,k 、 1 )。
(Rk、2)に書込んでおく。このようにして、レジス
タセラ)R8i、R8jの8g63ワードまでのデータ
を読出し、これに対する演算結果をレジスタセットR8
にの第63ワード(R,に、63)に格納し終るとベク
トル加算命令が完了する。
他のベクトル処理命令に関しても同様である。
本実施例ではベクトルプロセッサは更に各レジスタセッ
トR8O〜B、863の使用状態を保持する手段として
、64ビツトの使用フラグUFO〜UF63からなるフ
ラグレジスタFRt−もつ。
フラグレジスタPRには、選択信号線として選択信号8
83が印加されフラグセット信号線Fsにセント信号が
印加されると、選択信号SS3で指定されるフラグが1
にセットされる。またフラグリセット信号線Frにリセ
ット信号が印加されると選択信号883で指定されるフ
ラグが0にリセットされるように構成されている。
フラグレジスタPRには、全使用フラグがOの場合には
値1、それ以外の場合には値0を出力する〃未使用検出
回路ZDが接続されている。未使用検出回路ZDの出力
は、タスク切換え回路DBPに印加される。またタスク
切換え回路DIPには、タスク切換え要求生成回路DI
Gの出力が印加されている。
また、本実施例においては、レジスタセラ)を使用状態
、および未使用状態にするための特別の機械語命令、フ
ラグセット命令、リセット命令が用意される。この命令
はsg2図fclに示す命令フォーマットをもつ。この
命令は、命令コード部QPOと1個のオペランド部oP
rとからなりe令コード部・oPc、は各々フラグセッ
ト命令、フラグリセット命令であることを示す特別の値
をもち、オペランド部は、この命令でセットあるいはリ
セットすべき使用フラグを指定する。
命令デコーダ実行制御@DCDは、命令レジスタI)1
上の命令がフラグセット命令であることt−識別すると
命令レジスタエ凡の第1オペランド部OP¥の値を選択
信号SS3として、フラグレジスタFRに印加するとと
もに、フラグセット信号線F3にセット信号を印加する
。これにより、命令のオペランド部al)rで指定され
たレジスタセットが使用状態とされる。
同様に、命令がフラグリセット命令であることが識別さ
れた場合には、フラグリセット信号線Frにリセット信
号が印加され、命令のオペランド部aprで指定される
使用フラグがリセットされ、対応するレジスタセットが
未使用状態とされる。
全使用フラグがOのとき、未使用検出回路ZDハ全ベク
トルレジスタが未使用であるとして値1を出力する。使
用フラグのUFO〜UF63のうち1個でも1の場合に
は未使用検出回路ZDは値0を、出力する。
また、本実施例におけるベクトルプロセッサは、タスク
切換え要求生成回路DRGiもつ。前記タス次に本実施
例におけるタスク切換えに関連する動作を説明する。
外部割込み、タイマ割込み等の割込みが発生すると、タ
スク切換え要求生成回路DRGが起動される。タスク切
換え要求生成回路DRGは、タスクの状態を更新し、実
行可能なタスクが発生し、かつこれが現在実行中のタス
クよりも高い優先順位をもつ場合には、これを新たに実
行すべきタスクとして、タスク切換え回路D8Fにタス
ク切換え要求を出す。
また、割込みがインタバルタイマからの割込みであり、
これが、現在実行中のタスクのタイムスライスの超過を
伝えるものであり、かつ、現在このタスクと等しい優先
順位の実行可能なタスクがある場合にはこのタスクを新
たに実行すべきタスクとして、タスク切換え回路DIP
に要求を出す。
タスク切換え回路DSPはこの要求をうけて次の動作を
行う。
この要求をうけた時点で未使用検出回路ZDの出力をチ
ェックし未使用状態にある場合にはベクトルプロセッサ
において現在実行中の機械語命令が終了した時点でただ
ちにタスクの切換えを行う。
即ち現在実行中のタスクの内部状態をこのタスクに対応
するタスク制御ブロックに格納(ロールアウト)シ、こ
の後でタスク切換え要求生成回路DRGで指定された新
たに実行すべきタスクの内部状態をプロセッサに格納し
くロールイン)、このタスクの実行を開始する。
使用状態にある場合にはタスク切換え要求を保留してお
き、未使用検出回路ZDIIの出方が未使用状態を示し
た時点で現在実行中の機械語命令が完了し次第タスクの
切換えを行う。
本発明の主旨に背かぬかぎυ、本発明の実現方法につい
ては、本発明の実施例に限定されるものでないことは明
らかであろう。
たとえば、ベクトルレジスタの構成、ベクトル処理命令
のフォーマット、フラグレジスタのセット、リセットの
契機等は必ずしも本発明のとおシになっている必要はな
く、フラグレジスタをベクトル処理命令の実行に際して
設定するように構成することも可能であろう。
また、本実施例においては、本発明の直接の主旨とは直
接関係がないので、説明の簡単のためにタスク切換え要
求生成回路DRGおよびタスク切換え回路DIPは専用
のハードウェアにょシ実現されているものとしその詳細
な機能、その具体的な実現法に関しては、従来知られて
いる通常の技術により実現されているものとしているが
、これらを専用のハードウェアではなく、プロセッサの
もつハードウェア上でファームウェアにより実現するこ
とも可能である。また、プロセッサのもつ機械語命令を
使用して、ソフトウェアにより実現することも可能であ
る。この場合には1割込みの処理。
タスクの状態更新等の処理はタスクでの機械語命令と機
械語命令の切れ目で実行されることになる。
(発明の効果) 本発明には全ベクトルレジスタが未使用状態か否かを検
出する手段をもちタスクの切換要求が発生した時点で未
使用状態の場合には直ちにタスク切換を行ない、未使用
状態でない場合にはこのタスク切換要求全保持し全ベク
トルレジスタが未使用になった時点でタスク切換を行な
うことによシベクトルレジスタの内容の退避/格納を行
なうことなくタスクの切換を行なえるようにしタスク切
換のオーバヘッド金少なくできマルチタスクで運用すれ
るベクトルプロセッサの処理能力を向上できるという効
果がある。
【図面の簡単な説明】
第1図は本発明の一実施例金示すブロック図、第2図は
本発明の実施例における命令のフォーマットを示す図で
、第2図(alはベクトル演算命令、(blはベクトル
転送命令、(C)はフラグセット命令。 フラグリセット命令のフォーマット金示す図である。 IR・・・・・・命令レジスタ、DCD・・・・・・命
令デコーダ実行制御部、VR・・・・・・ベクトルレジ
スタ、kL、s。 〜El、863・・・・・・レジスタセラ)、Pi〜P
4・・・・・・演算パイプライン、FR・・・・・・フ
ラグレジスタ、MM・・・・・・主記憶、RDR・・・
・・・読出しレジスタ、WDR・・・・・・書込みレジ
スタ、ZD・・・・・・未使m検出回路、DRG・・・
・・・タスク切換要求生成回路、DSF・・・・・・タ
スク切換回路。 ナ1 回 C久) (し2 (C〕

Claims (1)

  1. 【特許請求の範囲】 複数個のレジスタセットからなるベクトルレジスタをそ
    なえるベクトルプロセッサにおいて、全ベクトルレジス
    タセットが未使用であることを検出する検出手段と、 前記ベクトルプロセッサにおいてタスク切り換えの要求
    を生成するタスク切換要求生成手段と、前記タスク切換
    要求生成手段によりタスク切り換えの要求が生成された
    場合に前記検出手段が全ベクトルレジスタセットが未使
    用であることを検出している場合には直ちにタスク切り
    換えを行ない検出していない場合にはこのタスク切り換
    えの要求を保留し前記検出手段が全ベクトルレジスタセ
    ットが未使用であることを検出した時点で前記保留され
    ているタスク切換え要求に基づきタスク切り換えを行な
    うタスク切り換え手段とを含むことを特徴とするベクト
    ルプロセッサ。
JP7483785A 1985-04-09 1985-04-09 ベクトルプロセツサ Pending JPS61233865A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7483785A JPS61233865A (ja) 1985-04-09 1985-04-09 ベクトルプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7483785A JPS61233865A (ja) 1985-04-09 1985-04-09 ベクトルプロセツサ

Publications (1)

Publication Number Publication Date
JPS61233865A true JPS61233865A (ja) 1986-10-18

Family

ID=13558847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7483785A Pending JPS61233865A (ja) 1985-04-09 1985-04-09 ベクトルプロセツサ

Country Status (1)

Country Link
JP (1) JPS61233865A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5720864A (en) * 1980-07-11 1982-02-03 Hitachi Ltd Vector processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5720864A (en) * 1980-07-11 1982-02-03 Hitachi Ltd Vector processor

Similar Documents

Publication Publication Date Title
JPS61233865A (ja) ベクトルプロセツサ
JPS61235985A (ja) ベクトルプロセツサ
JPH056281A (ja) 情報処理装置
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0443301B2 (ja)
JP2000029690A (ja) デ―タ処理の方法および装置
JP2876791B2 (ja) 例外処理装置および例外処理方法
JPS61117635A (ja) 仮想記憶制御方式
JPS59173876A (ja) ベクトル・デ−タ処理装置
JPS62151942A (ja) タスク切換え方式
JPS60201442A (ja) デ−タ処理装置
JPH0325674A (ja) 情報処理装置
JPS61143850A (ja) 処理装置
JPS5846444A (ja) 電子計算機
JPH04245333A (ja) 情報処理装置
JPH0452759A (ja) ベクトル命令多重処理方式
JPH0282318A (ja) 浮動小数点演算装置
JPS61112240A (ja) デ−タ処理装置
JPH04147339A (ja) 情報処理装置
JPS62288940A (ja) 情報処理装置
JPS63118835A (ja) 演算装置
JPH036735A (ja) データ処理装置
JPH04260131A (ja) マイクロプログラム制御方式
JPS61223947A (ja) 処理装置の未定義命令検出方法
JPH04289980A (ja) メモリ装置