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

ベクトル処理装置

Info

Publication number
JPH06168263A
JPH06168263A JP4320592A JP32059292A JPH06168263A JP H06168263 A JPH06168263 A JP H06168263A JP 4320592 A JP4320592 A JP 4320592A JP 32059292 A JP32059292 A JP 32059292A JP H06168263 A JPH06168263 A JP H06168263A
Authority
JP
Japan
Prior art keywords
instruction
vector
unit
post
scalar
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.)
Withdrawn
Application number
JP4320592A
Other languages
English (en)
Inventor
Toru Yoshinaga
徹 吉永
Takashi Mochiyama
貴司 持山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4320592A priority Critical patent/JPH06168263A/ja
Priority to EP93307222A priority patent/EP0600583B1/en
Priority to DE69325238T priority patent/DE69325238T2/de
Priority to US08/121,552 priority patent/US5574924A/en
Publication of JPH06168263A publication Critical patent/JPH06168263A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/8061Details on data memory access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Abstract

(57)【要約】 (修正有) 【目的】POST命令に続くベクトルストア命令の完了
のみを区別して認識し、POST命令の続くベクトルス
トア命令によるWAIT命令のオーバーヘッドをなく
し、スカラユニットにおける処理効率を向上する。 【構成】ベクトル命令実効制御部VIはベクトル無効化
処理部M2から信号S1とS2を受取り、ポストマーク
が付加されていないアクセスが終了したことを検出する
と、スカラユニット400の制御部M4に参照順序を保
証するべき命令の実行が終了したことを通知する。これ
により、スカラユニット400は、WAIT命令で後続
のアクセス命令の実行を抑止していたアクセス命令の実
行を開始でき、POST命令に続くベクトルストア命令
によるWAIT命令のオーバーヘッドをなくすことがで
き、スカラユニットにおける処理効率が向上するととも
に、ベクトルユニットとの並列処理性能も改善される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は大量のベクトルデータを
一命令で処理するベクトル処理装置に関し、特に命令実
行ユニットと主記憶装置との間にデータバッファを設け
たベクトル処理装置においてPOST(ポスト)命令と
WAIT(ウェイト)命令を用いた命令実行のシリアラ
イズ制御に関する。
【0002】ベクトル処理装置は複数の演算パイプライ
ンを有し、複雑な処理を演算パイプラインに展開して、
大量のデータを高速に処理する。一般に、ベクトル処理
装置は、ベクトルユニットとスカラユニットとを有する
命令実行ユニットと、主記憶装置と、記憶制御装置とを
有する。ベクトルユニットはベクトルレジスタや、加算
・論理演算、乗算および除算の演算パイプ等を具備す
る。演算データは主記憶装置から記憶制御装置内に設け
られたデータバッファに格納した後、ベクトルユニット
内のベクトルレジスタにロードされる。演算データはベ
クトル命令に従い演算パイプラインで演算される。得ら
れた演算結果は、ベクトルユニットから記憶制御装置内
のデータバッファに格納した後、主記憶装置にストアさ
れる。
【0003】このようなシステムでは、スカラ命令とベ
クトル命令、あるいはベクトル命令とベクトル命令間で
命令の先行制御や並列実行が行われることがある。この
場合、主記憶装置の参照順序が保証されないことがあ
る。従って、主記憶装置の参照順序を保証するには、ベ
クトルオペレーションのシリアライズを行う必要があ
る。
【0004】ベクトルオペレーションのシリアライズと
は、それ以前に実行中である命令が生じる主記憶オペラ
ンドアクセスをそれよりも後に実行すべき命令の主記憶
オペランドアクセスが生じる前に終了させることであ
る。ベクトルオペレーションのシリアライズは、ベクト
ル命令同士およびベクトル命令とスカラ命令の主記憶オ
ペランドアクセス間において意味をもち、スカラ命令間
ではもともと順序関係が保証されているため意味をもた
ない。 近年の科学技術用計算機システムにおける高速
化要求に応えるため、本発明はベクトルオペレーション
のシリアライズに伴うオーバーヘッドの削減を図ること
を意図している。
【0005】
【従来の技術】図10は、一般的なベクトル処理装置の
構成を示すブロック図である。図10のベクトル処理装
置は、命令実行ユニット100と、記憶制御装置(MC
U)200と、主記憶装置(MSU)300とを具備す
る。命令実行ユニット100は、ベクトルユニットVU
とスカラユニットSUとを具備する。ベクトルユニット
VUは一命令で複数エレメントの演算をおこない、スカ
ラユニットSUは一命令で一エレメントの演算を行う。
ベクトルユニットVUは、ベクトル命令実行制御部V
I、演算パイプライン部VE、およびベクトル記憶制御
部VSを有する。同様に、スカラユニットSUは、スカ
ラ命令実行制御部I、スカラ演算部Eおよびアクセス部
Sを有する。
【0006】スカラユニットSUからのアドレスやスト
アデータは、記憶制御装置200を介して主記憶装置3
00に送られ、主記憶装置300からの命令やロードデ
ータは、記憶制御装置200を介してスカラユニットS
Uに送られる。同様に、ベクトルユニットVUからのア
ドレスやストアデータは、記憶制御装置200を介して
主記憶装置300に送られ、主記憶装置300からのロ
ードデータは、記憶制御装置200を介してベクトルユ
ニットVUに送られる。
【0007】図11は、図10のベクトル処理装置の詳
細を示すブロック図である。ベクトルユニットVUのベ
クトル記憶制御部VSは、ベクトルレジスタ12、マス
クレジスタ14、コントローラ16、およびデータ転送
パイプライン18、20を有する。演算パイプライン部
VEは、加算・論理演算パイプラインADD、乗算パイ
プラインMLT、除算パイプラインDIV、およびマス
クパイプラインMSKとを有する。なお、図10のベク
トル命令実行制御部VIは図を簡単化するために、省略
してある。スカラユニットSUのスカラ演算部Eはスカ
ラ演算器22を有し、アクセス部Sはスカラレジスタ2
4およびバッファ26を有する。なお、図10のスカラ
命令実行制御部Iは図を簡単化するために、省略してあ
る。記憶制御装置200は、データバッファ30および
コントローラ32を有する。主記憶装置300は、例え
ばハードディスク装置などで構成される。
【0008】図11のベクトル処理装置は、次の通り動
作する。一例として、ベクトル加算命令の実行を説明す
る。ベクトル加算命令VADDは、次のとおり実行され
る。 VLOAD VR1 VLOAD VR2 VADD VR1、VR2、VR3 VSTORE VR3 まず、最初のベクトルロード命令VLAODを実行し、
主記憶装置300から記憶制御装置200のデータバッ
ファ30、およびベクトルユニットVUのロードパイプ
ライン18を介して、ベクトルレジスタ12のレジスタ
VR1にデータをロードする。つぎに、2番目のベクト
ルロード命令を実行し、主記憶装置300から同様の経
路でベクトルレジスタ12のレジスタVR2にデータを
ロードする。そして、加算・論理パイプラインADDを
用いてベクトル加算命令VADDを実行し、レジスタV
R1とVR2のデータを加算し、加算結果をベクトルレ
ジスタ12のレジスタVR3に格納する。最後に、ベク
トルストア命令VSTOREを実行し、レジスタVR3
に格納されている加算結果を、ストアパイプライン2
0、データバッファ30を介して、主記憶装置300に
ストアする。 一方、スカラユニットSUから主記憶装
置300へのアクセスは、記憶制御装置200を介して
行われる。
【0009】スカラユニットSUとベクトルユニットV
Uとは、可能な限り並列に動作することが、システムの
処理性能を高めるうえで望ましい。しかし、プログラム
中のベクトル命令あるいはスカラ命令が、実行すべきベ
クトル命令あるいはスカラ命令の実行結果のデータをオ
ペランドとして使用する場合、それらの命令間で実行順
序を保証することが必要となる。この制御がベクトルオ
ペレーションのシリアライズ制御である。
【0010】従来のシステムでは、ベクトルオペレーシ
ョンのシリアライズ制御を、POST命令とWAIT命
令を利用して行っている。この方法は、POST命令よ
り先に実行されるべき命令の主記憶オペランドの参照
が、WAIT命令より後で実行されるべき命令の主記憶
オペランドの参照よりも早く行われるように制御するも
のである。このため、POST命令とWAIT命令に挟
まれた命令の主記憶オペランドは、ベクトルオペレーシ
ョンのシリアライズの対象から除外される。
【0011】従来、ベクトル命令とスカラ命令の各組み
合せでのシリアライズの保証は、次のように行われてい
る。
【0012】(1)ベクトル命令−ベクトル命令間のシ
リアライズ (a)POST命令に先行するベクトルロード命令の保
証優先順位が付与されるまで。
【0013】(b)POST命令に先行するベクトルス
トア命令の保証優先順位が付与されるまで。
【0014】(2)スラカ命令−ベクトル命令間のシリ
アライズ (a)POST命令に先行するスカラロード命令の保証
もともと保証されている。
【0015】(b)POST命令に先行するスカラスト
ア命令の保証優先順位が付与されるまで。
【0016】(3)ベクトル命令−スカラ命令間のシリ
アライズ (a)POST命令に先行するベクトルロード命令の保
証優先順位が付与されるまで。
【0017】(b)POST命令に先行するベクトルス
トア命令の保証スカラユニットSUへのバッファ無効化
がすべてスラカユニットに反映されるまで。
【0018】ここで、上記(3)の(b)は、POST
命令に先行するベクトルストア命令によって主記憶装置
300にデータを書き込んだ場合、スカラユニットSU
内のバッファ26に該当するアドレスが旧データがあれ
ば、これらを全て無効化するバッファ無効化処理を行
い、これが終了するまでは、WAIT命令の後の主記憶
参照を伴うスカラ命令を実行させないことを意味してい
る。
【0019】しかしながら、このバッファ無効化は、機
構上POST命令に先行するベクトルストア命令による
ものだけを分離して処理することはできない。そのた
め、POST命令をWAIT命令の中間にあるベクトル
ストア命令も一緒にして、バッファ無効化反映処理の終
了検出を行っていた。
【0020】従って、WAIT命令に続く主記憶参照を
伴うスカラ命令の起動は、WAIT命令に先行する全て
のベクトルストア命令に起因するバッファ無効化が終了
するまで待たされていた。
【0021】図12に、POST命令とWAIT命令と
を用いてシリアライズ制御を行う命令シーケンスの例を
示す。図中、VSTOREはベクトルストア命令を示
し、POSTはPOST命令を示し、WAITはWAI
T命令を示し、LOADはスカラのLOAD命令を示
す。 POST命令の前にあるVSTORE命令の実行
が完了するまでは、LOAD命令は実行されず、これら
のVSTORE命令とLOAD命令の主記憶参照順序は
保証される。しかしながら、POST命令とWAIT命
令の間のVSTORE命令についてはシリアライズ制御
は行われず、主記憶の参照順序は保証されない。
【0022】
【発明が解決しようとする課題】しかしながら、従来の
構成では、POST命令の前にあるVSTORE命令に
ついてのバッファ無効化処理を、後にあるVSTORE
命令のバッファ無効化処理を区別してその終了タイミン
グを認識することができない。そのため、WAIT命令
は、これに先行するすべてのVSTORE命令のバッフ
ァ無効化処理が終了するまで、実行を終了することがで
きなかった。従って、WAIT命令に続く主記憶参照を
伴う命令の実行は、POST命令とWAIT命令の間に
挟まれた参照順序を保証する必要のないSTORE命令
に影響されて、その実行完了まで待たされ、処理性能が
低下するという問題点があった。 本発明は、上記問題
点を解決し、POST命令に先行するベクトルストア命
令の完了だけを認識できるようにして、余分なベクトル
ストア命令のオーバーヘッドを短縮し、シリアライズ制
御の高速化を図ったベクトル処理装置を提供することを
目的とする。
【0023】
【課題を解決するための手段】図1は本発明の原理を示
す図である。
【0024】図示するベクトル処理装置は、ベクトルユ
ニット100A、記憶制御装置200A、主記憶装置3
00およびスカラユニット400を有する。ベクトルユ
ニット100Aはベクトル命令制御実行部VIおよびベ
クトル記憶制御部VSを有している。なお、ベクトルユ
ニットVUの演算パイプラインユニットVEの図示は省
略してある。ベクトル記憶制御部VSは、レクエストア
ドレス発生部M1を有する。記憶制御装置200Aはバ
ッファ無効化処理部M2を有する。スカラユニット40
0は、バッファM3と制御部M4を有する。 ベクトル
命令制御実行部VIは、起動(スタート)信号と、PO
ST命令の前後にスカラユニットからベクトルユニット
VUに発行されたベクトルストア命令を区別するため
に、POST命令の後のベクトルストア命令であること
を示すポストマークPMをベクトル記憶制御部VSに出
力する。また、ベクトル命令制御実行部VIは、スカラ
ユニットSUからPOST命令を受け取ると、先行アク
セス命令がまだ実行中であれば、ポストペンディング信
号PPをオンにして、スカラユニットSUの制御部M4
にアクセス命令を実行中であることを通知する。
【0025】ベクトル記憶制御部VSのリクエストアド
レス発生部M1は、起動(スタート)信号とポストマー
クPMを受けとり、リクエストアドレス(アクセス要求
に係るアドレス)を生成し、リクエストアドレスごとに
ポストマークPMをバッファ無効化処理部M2に出力す
る。バッファ無効化処理部M2は、まだ処理されていな
いアクセス要求に関する状態信号S1およびS2をベク
トル命令実行制御部VIに出力する。例えば、状態信号
S1が出力されている間(オン)は、ポストマークPM
が付されているPOST命令の後のベクトルストア命令
が実行されずに残っていることを示し、状態信号S2が
出力されている間(オン)は、ポストマークPMが付さ
れていないPOST命令の前のベクトルストア命令が実
行されずに残っていることを示す。
【0026】ベクトル命令実効制御部VIはベクトル無
効化処理部M2から信号S1とS2を受取り、ポストマ
ークが付加されていないアクセスが終了したことを検出
すると、スカラユニット400の制御部M4に参照順序
を保証するすべき命令の実行が終了したことを通知す
る。これにより、スカラユニット400は、WAIT命
令で後続のアクセス命令の実行を抑止していたアクセス
命令の実行を開始できる。
【0027】バッファ無効化部M2は、ポストマークP
Mのオン・オフにかかわらずスカラユニット400のバ
ッファM3にバッファ無効化要求信号を出力する。
【0028】
【作用】ベクトル命令実効制御部VIはベクトル無効化
処理部M2から信号S1とS2を受取り、ポストマーク
が付加されていないアクセスが終了したことを検出する
と、スカラユニット400の制御部M4に参照順序を保
証するすべき命令の実行が終了したことを通知する。こ
れにより、スカラユニット400は、WAIT命令で後
続のアクセス命令の実行を抑止していたアクセス命令の
実行を開始できる。
【0029】したがって、POST命令に続くベクトル
ストア命令によるWAIT命令のオーバーヘッドをなく
すことができ、スカラユニットにおける処理効率が向上
するとともに、ベクトルユニットとの並列処理性能も改
善される。
【0030】
【実施例】図2は、本発明の一実施例によるベクトル処
理装置の要部を示すブロック図である。図中、図1と同
一の構成要素には同一の参照番号を付してある。図2の
ベクトル処理装置は、ベクトルユニット100Aと、記
憶制御装置200Aと、主記憶装置300と、スカラユ
ニット400とを有する。
【0031】ベクトルユニット100Aは、ベクトル命
令実行制御部110、コントローラ16A、ベクトルレ
ジスタ12、マスクレジスタ14、および演算パイプラ
インを有する。なお、便宜上、演算パイプラインは図示
を省略しているが、図11に示すように、ベクトルレジ
スタ12およびマスクレジスタ14に接続されている。
ベクトル命令実行制御部110は、図示を省略している
スカラユニットに接続されており、コントローラ16A
に起動信号STARTなど送出し、コントローラ16A
から書き込み有効信号WVを受け取る。また、ベクトル
命令実行制御部110は、スカラユニット400にポス
トペンディング信号PPを送出し、またスカラユニット
400から命令やデータを受信する。更に、ベクトル命
令実行制御部110は、記憶制御装置200Aのコント
ローラ32Aから前述のステータス信号S1およびS2
を受信する。
【0032】コントローラ16Aは、リクエストアドレ
ス発生器54、レジスタ書き込み制御器56、レジスタ
読み出し制御器58、バッファ書き込み制御器60、お
よびバッファ読み出し制御器62を有する。これらの制
御器は、それぞれまたは単一の例えばマイクロコンピュ
ータで構成され、後述するプログラムを実行する。
【0033】記憶制御装置200Aのコントローラ32
Aは、リクエスト優先順位決定器64、バッファ無効化
処理器66、および主記憶装置制御器68を有する。リ
クエスト優先順位決定器64は、ベクトル命令実行制御
部110から起動信号STARTを受け、アクセス要求
(アドレス生成)をコントローラ32Aに送出する。小
のとき、バッファ無効化処理器66はアクセス要求ごと
に、POST命令の後のベクトルストア命令に前述のポ
ストマークを付与する。更に、バッファ無効化処利器6
6は、前述のバッファ無効化要求信号BIRをスカラユ
ニット400に出力する。
【0034】主記憶装置制御器68はアクセス要求(実
アドレス)をリクエスト優先順位決定器64から受信
し、主記憶装置300に実アドレスなどの必要な信号を
出力する。データバッファ30は、ストア用とロード用
に分割されている。
【0035】スカラユニット400は、制御部22A、
バッファ26およびスカラレジスタ24を有する。制御
部22Aは、前述のスカラ演算器22を有する。スカラ
レジスタ24は、スカラ演算に用いられる。バッファ2
6は、主記憶装置制御器68を介して、主記憶装置30
0との間でデータや命令を効率的に転送するために用い
られる。次に、図1および2に示す実施例の動作を説明
する。
【0036】はじめに、ロード命令およびストア命令を
実行するときの動作の概要について説明する。主記憶装
置300からデータバッファ30を介して読み出された
ベクトル命令をスカラユニットSUが受信すると、それ
をベクトル命令実行制御部110に送出する。 受信し
たベクトル命令がロード命令のときは、その起動信号S
TARTに応答して、リクエストアドレス発生器54が
アクセス要求を発生(実アドレスの発生)する。リクエ
スト優先順位決定器64で優先順位が付与されたアクセ
ス要求に基づき、主記憶装置制御器68は、アドレス信
号と起動信号(GO)を主記憶装置300に送出する。
これと同時に、主記憶装置制御器68は主記憶装置30
0からフェッチされたデータが送出されるタイミングに
あわせて、バッファ書き込み制御器60にデータ送出信
号を送る。このデータ送出信号を受け取ったバッファ書
き込み制御器60は、主記憶装置300から送出された
フェッチデータをデータバッファ30に書き込む。そし
て、レジスタ書き込み制御器56は、データバッファ3
0に書き込まれたデータをベクトルレジスタ12に書き
込む。 スカラユニットSUから受信したベクトル命令
がストア命令のときは、その起動信号STARTの送出
と同時に、レジスタ読み出し制御器58がベクトルレジ
スタ12からデータを読み出し、データバッファ30に
書き込む。リクエスト優先順位決定器64はアクセス要
求に対して優先順位を付与した後、バッファ読み出し制
御器62およびバッファ無効化処理器66にデータ転送
信号を送出する。アクセス要求がスカラユニットSUか
らのフェッチの場合には、バッファ無効化処理部66は
そのアドレスを内部のタグレジスタ(TAG)に登録
し、ベクトルストアの場合にはタグレジスタを参照し、
登録されていた場合にはスカラユニットSUのバッファ
に26に対して無効化処理を行う。データ転送信号を受
けたバッファ読み出し制御器62はストアされたデータ
をデータバッファ30から読み出し、主記憶装置300
に送出する。これと同時に、記憶制御装置200Aの主
記憶装置制御器68は、主記憶装置300にアドレスと
起動信号(GO)を送出する。
【0037】次に、各部の詳細な動作を説明する。
【0038】図3は、リクエストアドレス発生器54お
よびリクエスト優先順位決定器64の動作を示すフロー
チャートである。ベクトル命令実行制御部110から起
動信号を受けると、動作が開始する(ステップS1
1)。ベクトル命令実行制御部110からアクセス要求
の先頭アドレスと距離値を受取り、論理アドレスを計算
する(ステップS12)。ベクトル長分の論理アドレス
が発生されたことが確認されると(ステップS13)、
リクエストアドレス発生器54は、仮想アドレスモード
が設定されているかどうかを判定する(ステップS1
4)。仮想アドレスモードが設定されている場合には、
論理アドレスから実アドレスに変換する(ステップS1
5)。そして、リクエストアドレス発生器54はアドレ
スキューバッファ50に実アドレスが保持されているか
どうかを判断する(ステップS16)。仮想アドレスモ
ードが設定されていない場合には、ステップS15を行
うことなく、ステップS16が実行される。
【0039】ステップS16で、アドレスキューレジス
タ50に実アドレス(アクセス要求)があると判断され
た場合には、ステップS20を実行する。そうでない場
合には、リクエストアドレス発生器54は、リクエスト
優先順位決定器64がビジィーかどうかを判断する(ス
テップS17)。この判断は、例えば、リクエスト優先
順位決定器64からのビジィー信号線の状態を見ること
で行う。ビジィーと判断された場合にはステップS20
を実行する。ステップS17でビジィーでないと判断さ
れた場合には、リクエスト優先順位決定器64の読み出
し器52はアクセス要求停止信号VEーSTOPが供給
されているかどうかを判断する(ステップS18)。ス
テップS18の判断結果がNOの場合には、アドレスキ
ューレジスタ50に実アドレスを書き込むことなく、リ
クエスト優先順位決定器64を介して直ちにアクセス要
求(実アドレス)を主記憶装置300に送出する(ステ
ップS22)。
【0040】ステップS18でアクセス要求停止信号V
EーSTOPが供給されている判断されたときは、リク
エストアドレス発生器54からの実アドレスに付与され
ている識別情報IDが読み出し器52はレジスタ読み出
し制御器58からの識別情報IDに一致するかどうかを
判断する。一致しない場合には、直ちにアドレスと起動
信号が主記憶装置300に送出される(ステップS2
2)。ステップS19で識別情報IDが一致すると判断
されると、実アドレスをアドレスキューバッファ50に
書き込んだ後、アクセス要求停止信号VEーSTOPが
なくなるまで保持される。すなわち、ステップS21で
アドレスキューレジスタ50にアクセスして、ステップ
S16とS17の判断結果がNOでステップS18の判
断結果がYESの場合に、ステップS22が実行され
る。
【0041】図4は、レジスタ読み出し制御器58の動
作を示すフローチャートである。はじめに、レジスタ読
み出し制御器58はデータバッファ30がフルがどうか
を判断する(ステップS31)。データバッファ30が
フルと判断された場合は、ステップS32の判断結果が
NOとなるまで、レジスタ読み出し制御器58は繰り返
しステップS32を実行する。ステップS32の判断結
果がNOとなると、レジスタ読み出し制御器58は、ア
クセス要求停止信号VEーSTOPを発生しているかど
うかを判断する(ステップS32)。この判断結果がY
ESのときには、ステップS31に戻る。ステップS3
2の判断結果がNOのときには、レジスタ読み出し制御
器58はベクトルレジスタ12からデータをベクトル長
分読み出したかどうかを判断する(ステップS33)。
この判断結果がNOのときには、ステップS31に戻
る。ステップS33の判断結果がYESのときには、レ
ジスタ読み出し制御器58はベクトルレジスタ12から
データを読み出し(ステップ34)、データバッファ3
0に読み出したデータを書き込む(ステップS35)。
【0042】図5は、図1に示すバッファ無効化処理器
66の動作を示すフローチャートである。バッファ無効
化処理器66はリクエスト優先順位決定器64からデー
タ転送信号を受信すると(ステップS61)、このデー
タ転送信号がストア命令かどうかを判断する(ステップ
S62)。ストア命令でない場合には、アクセス要求が
スカラユニットSUからのフェッチの場合かどうか判断
する(ステップS63)。アクセス要求がスカラユニッ
トSUからのフェッチの場合には、バッファ無効化処理
器66はアクセス要求のアドレスを内部のタグレジスタ
(TAG)に登録する(ステップS64)。また、バッ
ファ無効化器66は、アクセス要求がベクトルユニット
100Aからのストア命令かどうかを判断する(ステッ
プS65)。ステップS65の判断結果がYESの場合
にはタグレジスタを参照し(ステップS66)、アクセ
ス要求がタグレジスタに登録されていた場合には(ステ
ップS67)、アクセス要求に係る無効化処理可能を示
すデータをキューレジスタ(BI)に格納した後(ステ
ップS68)、スカラユニットSUのバッファに26
(図2)に対して無効化処理を行う(ステップS6
9)。このキューレジスタは、バッファ26の内部また
は外部に設けらている。
【0043】図6は、バッファ書き込み制御器58の動
作を示すフローチャートである。バッファ書き込み制御
器58は、リクエスト優先順位決定器64から、データ
の枯渇を示す警告信号DTW(DATAーTRANSF
ERーWARNING)を受信すると(ステップS7
1)、データバッファ30からのデータを読み出し動作
を行い(ステップS72)、このデータの読み出しをレ
ジスタ読み出し制御器58に報告する(ステップS7
3)。 図7は、ベクトル命令実行制御部110のPO
ST命令の制御に係る動作を示すフローチャートであ
る。ベクトル命令実行制御部110はスカラユニット4
00の制御部22Aから、ベクトル命令を受け取る(ス
テップS81)。ベクトル命令制御部110は、受け取
ったベクトル命令がPOST命令かどうかを判断する
(ステップS82)。POST命令であると判断する
と、ベクトル命令実行制御部110はPOST命令に先
行するアクセス命令があるかどうかを判断する(ステッ
プS86)。先行するアクセス命令があると判断する
と、ベクトル命令実行制御部110はポストペンディン
グ信号PPをオンにし(ステップS87)、スカラユニ
ット400に先行するアクセス命令が実行中であること
を通知する そして、ポストペンディング中にベクトルストア命令が
発信されたことが確認すると(ステップS82、S8
3)、ベクトル命令実行制御部110はポストペンディ
ング信号PPがオンに設定されていると判断すると(ス
テップS84))、ポストマークPMをオン(ポストマ
ークの付与)にする(ステップS85)。このポストマ
ークPMは起動信号とともにリクエストアドレス発生器
54に送出される。
【0044】ポストマークPMを受け取ったリクエスト
アクセス発生器54は、ステップS22でアクセス要求
ごとにポストマークPMを付与し、レクエストアドレス
優先順位決定器64に送出する。また、バッファ無効化
処理器66は、未処理の有効でかつポストマークPMが
オフであるアクセス要求があれば、状態信号S2をオン
に保持する。そして、ポストマークPMがオフのアクセ
ス処理が終了した時点で、バッファ無効化処利器66
は、状態信号S2をオフにする。また、バッファ無効化
処理器66は、未処理の有効でポストマークPMがオン
であるアクセス要求かあれば、状態信号S1をオンに保
持する。これらの処理は、例えば図5のステップS67
で行われる。
【0045】ベクトル命令実行制御部110は、状態信
号S2がオフであるかどうかを判断する(ステップS8
8)。状態信号S2がオフになったことが確認される
と、ベクトル命令実行制御部110はPOST命令に先
行する全てのベクトルストア命令の実行が終了したと判
断し、ポストペンディング信号PPをオフにする(ステ
ップS89)。
【0046】WAIT命令でPOST命令に続くアクセ
ス命令の実行を抑止していたスカラユニット400の制
御部22Aは、ポストペンディング信号PPかオフにな
るとWAIT命令の実行を終了し、後続のアクセス命令
を実行する。
【0047】以上のように、POST命令に続くベクト
ルストア命令の完了のみを区別して認識するため、PO
ST命令の続くベクトルストア命令にようWAIT命令
のオーバーヘッドをなくすことができ、スカラユニット
400における処理高利TYが向上するとともに、ベク
トルユニット100Aとの並列処理性能も改善される。
【0048】図8は、従来制御による動作タイミング
(A)と、本実施例の動作タイミング(B)とを示す図
である。従来制御によれば、POST命令とWAIT命
令に挟まれたベクトルストア命令VSTOREの実行が
完了してから、WAIT命令に続くスカラユニットから
のスカラロード命令の実行を開始していた。これに対
し、本実施例ではPOST命令に先行するベクトルスト
ア命令VSTOREが終了した時点で、WAIT命令に
続くスカラストア命令STOREの実行が開始される。
【0049】図9は、上記本実施例のPOST命令制御
のシーケンスを示す図である。図中、VSTはスカラユ
ニット400の制御部22Aからのベクトル命令であ
る。POST信号を受信すると、ポストペンディング信
号PPがオンとされ、状態信号S2が受信されるまで、
オンに保持される。
【0050】
【発明の効果】以上、説明したように、本発明によれ
ば、POST命令に続くベクトルストア命令の完了のみ
を区別して認識するため、POST命令の続くベクトル
ストア命令にようWAIT命令のオーバーヘッドをなく
すことができ、スカラユニットにおける処理効率が向上
するとともに、ベクトルユニットとの並列処理性能も改
善される。
【図面の簡単な説明】
【図1】本発明の原理を示す図である。
【図2】本発明の一実施例のブロック図である。
【図3】図2に示すリクエストアドレス発生器の動作を
示すフローチャートである。
【図4】図2に示すレジスタ読み出し制御器の動作を示
すフローチャートである。
【図5】図2に示すバッファ無効化処理器の動作を示す
フローチャートである。
【図6】図2に示すバッファ書き込み制御器の動作を示
すフローチャートである。
【図7】図2に示すベクトル命令実行制御部のポスト命
令制御の動作を示すフローチャートである。
【図8】本実施例の動作および対応する従来技術による
動作を示すタイミング図である。
【図9】本実施例の動作を示すタイミング図である。
【図10】ベクトル処理装置の概略構成を示すブロック
図である。
【図11】図10に示すベクトル処理装置の詳細な構成
を示すブロック図である。
【図12】POST命令とWAIT命令を用いた命令シ
ーケンスの一例を示す図である。
【符号の説明】
12 ベクトルレジスタ 14 マスクレジスタ 16、16A コントローラ 18 ロードパイプライン 20 ストアパイプライン 22 スカラ演算器 22A 制御部 24 スカラレジスタ 26 バッファ 30 データバッファ 32、32A コントローラ 36 パイプラインストップ予測器 54 リクエストアドレス発生器 56 レジスタ書き込み制御器 58 レジスタ読み出し制御器 60 バッファ書き込み制御器 62 バッファ読み出し制御器 64 リクエスト優先順位決定器 66 バッファ無効化処理器 68 主記憶装置制御器 100、100A ベクトルユニット 110A ベクトル命令実行制御部 200、200A 記憶制御装置 300 主記憶装置 400 スカラユニット M1 リクエストアドレス発生部 M2 バッファ無効化処理部 M3 バッファ M4 制御部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数の演算パイプラインをこれに接続す
    るベクトルレジスタ(12)を有するベクトルユニット
    (100A)と、 バッファ(M3)を有するスカラユニット(400)
    と、 記憶装置(300)と、 記憶装置とベクトルユニットおよびスカラユニットとの
    間に設けられ、POST命令とWAIT命令を用いたア
    クセス要求間のシリアライズを含む情報転送を行う記憶
    制御装置(300A)と、 POST命令実行中に発信されたベクトルストア命令の
    アクセス要求毎にポストマークをオンに設定するととも
    に、POST命令に先行するベクトルストア命令かある
    場合に、スカラユニットの命令実行を停止させる第1の
    手段(M1)と、 ポストマークがオフであるPOST命令に先行するアク
    セス要求の実行の終了を検出して、スカラユニットの命
    令実行を開始させる第2の手段(M1、M2)と、 を有することを特徴とするベクトル処理装置。
  2. 【請求項2】前記POST命令に先行するアクセス要求
    はベクトルストア命令であることを特徴とする請求項1
    に記載のベクトル処理装置。
JP4320592A 1992-11-30 1992-11-30 ベクトル処理装置 Withdrawn JPH06168263A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4320592A JPH06168263A (ja) 1992-11-30 1992-11-30 ベクトル処理装置
EP93307222A EP0600583B1 (en) 1992-11-30 1993-09-14 Vector processing device
DE69325238T DE69325238T2 (de) 1992-11-30 1993-09-14 Vektorprozessor
US08/121,552 US5574924A (en) 1992-11-30 1993-09-16 Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4320592A JPH06168263A (ja) 1992-11-30 1992-11-30 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPH06168263A true JPH06168263A (ja) 1994-06-14

Family

ID=18123141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4320592A Withdrawn JPH06168263A (ja) 1992-11-30 1992-11-30 ベクトル処理装置

Country Status (4)

Country Link
US (1) US5574924A (ja)
EP (1) EP0600583B1 (ja)
JP (1) JPH06168263A (ja)
DE (1) DE69325238T2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591361B1 (en) 1999-12-28 2003-07-08 International Business Machines Corporation Method and apparatus for converting data into different ordinal types
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6701424B1 (en) 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
JP2003177960A (ja) * 2001-12-12 2003-06-27 Matsushita Electric Ind Co Ltd 演算装置及び記憶装置
JP3855270B2 (ja) * 2003-05-29 2006-12-06 ソニー株式会社 アンテナ実装方法
CN115129480B (zh) * 2022-08-26 2022-11-08 上海登临科技有限公司 标量处理单元的访问控制方法及标量处理单元

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
JPS59121441A (ja) * 1982-12-03 1984-07-13 Fujitsu Ltd 逐次化命令実行制御装置
JPS60118977A (ja) * 1983-11-30 1985-06-26 Fujitsu Ltd パイプライン制御方式
JPS60222969A (ja) * 1984-04-20 1985-11-07 Fujitsu Ltd パイプライン制御回路
JPS61100845A (ja) * 1984-10-12 1986-05-19 Fujitsu Ltd メモリアクセス同期制御方式
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JPS6432379A (en) * 1987-07-29 1989-02-02 Hitachi Ltd Computer
JPS6467680A (en) * 1987-09-09 1989-03-14 Hitachi Ltd Vector processor
JP2504536B2 (ja) * 1988-10-05 1996-06-05 富士通株式会社 命令実行のシリアライズ制御方式
JPH02103656A (ja) * 1988-10-12 1990-04-16 Fujitsu Ltd 主記憶参照の遂次化制御方式
JPH0810451B2 (ja) * 1989-03-28 1996-01-31 日本電気株式会社 情報処理装置
JP2677414B2 (ja) * 1989-05-15 1997-11-17 富士通株式会社 命令実行のシリアライズ制御方式
US5075846A (en) * 1989-09-29 1991-12-24 Motorola, Inc. Memory access serialization as an MMU page attribute
US5381536A (en) * 1989-12-29 1995-01-10 Cray Research, Inc. Method and apparatus for separate mark and wait instructions for processors having multiple memory ports
US5257354A (en) * 1991-01-16 1993-10-26 International Business Machines Corporation System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results

Also Published As

Publication number Publication date
EP0600583A1 (en) 1994-06-08
DE69325238T2 (de) 1999-09-30
US5574924A (en) 1996-11-12
DE69325238D1 (de) 1999-07-15
EP0600583B1 (en) 1999-06-09

Similar Documents

Publication Publication Date Title
US5377336A (en) Improved method to prefetch load instruction data
US5742782A (en) Processing apparatus for executing a plurality of VLIW threads in parallel
EP0148478A2 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPH0769818B2 (ja) デ−タ処理装置
KR100335785B1 (ko) 데이타처리명령의실행
JP3304444B2 (ja) ベクトル処理装置
JPH0743648B2 (ja) 情報処理装置
JPH06168263A (ja) ベクトル処理装置
JP2798121B2 (ja) データ処理装置
JPH05241827A (ja) 命令バッファ制御装置
US7130988B2 (en) Status register update logic optimization
JP3145545B2 (ja) メモリアクセス装置
JPH06139071A (ja) 並列計算機
JP2591325B2 (ja) 分岐制御装置
JP2819733B2 (ja) 情報処理装置
JPH02301830A (ja) 情報処理方式
JPH07219771A (ja) 命令プロセッサ
JP2806690B2 (ja) マイクロプロセッサ
JPH0769800B2 (ja) データ処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JP2000347931A (ja) キャッシュメモリおよびキャッシュメモリ制御方法
JPH0279122A (ja) 浮動小数点演算機構
JPH052485A (ja) パイプライン制御方式
JPH05241828A (ja) 命令処理装置
JPH0748202B2 (ja) ベクトル複合命令制御方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000201