JP3304444B2 - ベクトル処理装置 - Google Patents
ベクトル処理装置Info
- Publication number
- JP3304444B2 JP3304444B2 JP32059392A JP32059392A JP3304444B2 JP 3304444 B2 JP3304444 B2 JP 3304444B2 JP 32059392 A JP32059392 A JP 32059392A JP 32059392 A JP32059392 A JP 32059392A JP 3304444 B2 JP3304444 B2 JP 3304444B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- register
- access request
- address
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Description
【0001】
【産業上の利用分野】本発明は大量のベクトルデータを
一命令で処理するベクトル処理装置に関し、特に命令実
行ユニットと主記憶装置との間にデータバッファを設け
たベクトル処理装置に関する。 ベクトル処理装置は複
数の演算パイプラインを有し、複雑な処理を演算パイプ
ラインに展開して、大量のデータを高速に処理する。一
般に、ベクトル処理装置は、ベクトルユニットとスカラ
ユニットとを有する命令実行ユニットと、主記憶装置
と、記憶制御装置とを有する。ベクトルユニットはベク
トルレジスタや、加算・論理演算、乗算および除算の演
算パイプ等を具備する。演算データは主記憶装置から記
憶制御装置内に設けられたデータバッファに格納した
後、ベクトルユニット内のベクトルレジスタにロードさ
れる。演算データはベクトル命令に従い演算パイプライ
ンで演算される。得られた演算結果は、ベクトルユニッ
トから記憶制御装置内のデータバッファに格納した後、
主記憶装置にストアされる。
一命令で処理するベクトル処理装置に関し、特に命令実
行ユニットと主記憶装置との間にデータバッファを設け
たベクトル処理装置に関する。 ベクトル処理装置は複
数の演算パイプラインを有し、複雑な処理を演算パイプ
ラインに展開して、大量のデータを高速に処理する。一
般に、ベクトル処理装置は、ベクトルユニットとスカラ
ユニットとを有する命令実行ユニットと、主記憶装置
と、記憶制御装置とを有する。ベクトルユニットはベク
トルレジスタや、加算・論理演算、乗算および除算の演
算パイプ等を具備する。演算データは主記憶装置から記
憶制御装置内に設けられたデータバッファに格納した
後、ベクトルユニット内のベクトルレジスタにロードさ
れる。演算データはベクトル命令に従い演算パイプライ
ンで演算される。得られた演算結果は、ベクトルユニッ
トから記憶制御装置内のデータバッファに格納した後、
主記憶装置にストアされる。
【0002】近年、ベクトル演算装置では、処理の高速
化のため、ベクトルレジスタの連鎖(チェイニング)処
理が行われている。ベクトルレジスタの連鎖とは、先行
するベクトル命令の演算結果を格納するベクトルレジス
タを、後続するベクトル命令が参照する場合、先行する
ベクトル命令がすべてのデータをベクトルレジスタに書
き込む前に、後続のベクトル命令の実行が開始されてし
まうことをいう。
化のため、ベクトルレジスタの連鎖(チェイニング)処
理が行われている。ベクトルレジスタの連鎖とは、先行
するベクトル命令の演算結果を格納するベクトルレジス
タを、後続するベクトル命令が参照する場合、先行する
ベクトル命令がすべてのデータをベクトルレジスタに書
き込む前に、後続のベクトル命令の実行が開始されてし
まうことをいう。
【0003】ここで、ベクトルレジスタの連鎖には、解
決しなければならない大きな問題がある。すなわち、先
行するベクトル命令がロード命令の場合、主記憶装置へ
のアクセスの際生じる競合のため、後続のベクトル命令
を実行している演算パイプラインにベクトルデータが毎
サイクル供給されなくなり、正常な処理ができなくな
る。このため、後続のベクトル命令を実行する演算パイ
プラインやデータ転送パイプラインの動作を一時的に停
止させ、ベクトルレジスタからのデータの読み出しを中
断するような制御が必要になる。本発明は、このような
背景においてなされたものである。
決しなければならない大きな問題がある。すなわち、先
行するベクトル命令がロード命令の場合、主記憶装置へ
のアクセスの際生じる競合のため、後続のベクトル命令
を実行している演算パイプラインにベクトルデータが毎
サイクル供給されなくなり、正常な処理ができなくな
る。このため、後続のベクトル命令を実行する演算パイ
プラインやデータ転送パイプラインの動作を一時的に停
止させ、ベクトルレジスタからのデータの読み出しを中
断するような制御が必要になる。本発明は、このような
背景においてなされたものである。
【0004】
【従来の技術】図11は、一般的なベクトル処理装置の
構成を示すブロック図である。図11のベクトル処理装
置は、命令実行ユニット100と、記憶制御装置(MC
U)200と、主記憶装置(MSU)300とを具備す
る。命令実行ユニット100は、ベクトルユニットVU
とスカラユニットSUとを具備する。ベクトルユニット
VUは一命令で複数エレメントの演算をおこない、スカ
ラユニットSUは一命令で一エレメントの演算を行う。
ベクトルユニットVUは、ベクトル命令実行制御部V
I、演算パイプライン部VE、およびアクセスパイプラ
イン部VSを有する。同様に、スカラユニットSUは、
スカラ命令実行制御部I、スカラ演算部Eおよびアクセ
ス部Sを有する。
構成を示すブロック図である。図11のベクトル処理装
置は、命令実行ユニット100と、記憶制御装置(MC
U)200と、主記憶装置(MSU)300とを具備す
る。命令実行ユニット100は、ベクトルユニットVU
とスカラユニットSUとを具備する。ベクトルユニット
VUは一命令で複数エレメントの演算をおこない、スカ
ラユニットSUは一命令で一エレメントの演算を行う。
ベクトルユニットVUは、ベクトル命令実行制御部V
I、演算パイプライン部VE、およびアクセスパイプラ
イン部VSを有する。同様に、スカラユニットSUは、
スカラ命令実行制御部I、スカラ演算部Eおよびアクセ
ス部Sを有する。
【0005】スカラユニットSUからのアドレスやスト
アデータは、記憶制御装置200を介して主記憶装置3
00に送られ、主記憶装置300からの命令やロードデ
ータは、記憶制御装置200を介してスカラユニットS
Uに送られる。同様に、ベクトルユニットVUからのア
ドレスやストアデータは、記憶制御装置200を介して
主記憶装置300に送られ、主記憶装置300からのロ
ードデータは、記憶制御装置200を介してベクトルユ
ニットVUに送られる。
アデータは、記憶制御装置200を介して主記憶装置3
00に送られ、主記憶装置300からの命令やロードデ
ータは、記憶制御装置200を介してスカラユニットS
Uに送られる。同様に、ベクトルユニットVUからのア
ドレスやストアデータは、記憶制御装置200を介して
主記憶装置300に送られ、主記憶装置300からのロ
ードデータは、記憶制御装置200を介してベクトルユ
ニットVUに送られる。
【0006】図12は、図11のベクトル処理装置の詳
細を示すブロック図である。ベクトルユニットVUのア
クセスパイプライン部VSは、ベクトルレジスタ12、
マスクレジスタ14、コントローラ16、およびデータ
転送パイプライン18、20を有する。演算パイプライ
ン部VEは、加算・論理演算パイプラインADD、乗算
パイプラインMLT、除算パイプラインDIV、および
マスクパイプラインMSKとを有する。なお、図11の
ベクトル命令実行制御部VIは図を簡単化するために、
省略してある。スカラユニットSUのスカラ演算部Eは
スカラ演算器22を有し、アクセス部Sはスカラレジス
タ24およびバッファ26を有する。なお、図11のス
カラ命令実行制御部Iは図を簡単化するために、省略し
てある。記憶制御装置200は、データバッファ30お
よびコントローラ32を有する。
細を示すブロック図である。ベクトルユニットVUのア
クセスパイプライン部VSは、ベクトルレジスタ12、
マスクレジスタ14、コントローラ16、およびデータ
転送パイプライン18、20を有する。演算パイプライ
ン部VEは、加算・論理演算パイプラインADD、乗算
パイプラインMLT、除算パイプラインDIV、および
マスクパイプラインMSKとを有する。なお、図11の
ベクトル命令実行制御部VIは図を簡単化するために、
省略してある。スカラユニットSUのスカラ演算部Eは
スカラ演算器22を有し、アクセス部Sはスカラレジス
タ24およびバッファ26を有する。なお、図11のス
カラ命令実行制御部Iは図を簡単化するために、省略し
てある。記憶制御装置200は、データバッファ30お
よびコントローラ32を有する。
【0007】図12のベクトル処理装置は、次の通り動
作する。一例として、ベクトル加算命令の実行を説明す
る。ベクトル加算命令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に
ストアする。 図13に、上記ベクトル加算命令の実行
の様子を示す。
作する。一例として、ベクトル加算命令の実行を説明す
る。ベクトル加算命令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に
ストアする。 図13に、上記ベクトル加算命令の実行
の様子を示す。
【0008】前述したように、ベクトル処理装置では、
ベクトルレジスタの連鎖を行うことで、処理の高速化を
図っている。図13の例では、ベクトル加算命令VAD
Dの実行を、これに先行するベクトルロード命令VLO
ADの実行によりすべてのデータをベクトルレジスタに
書き込む前に開始する。この場合、先行するベクトルロ
ード命令VLOADにより主記憶装置300にアクセス
する際に他のベクトルロード命令と競合することで、加
算・論理パイプラインにベクトルデータが供給されなく
なり、正常にベクトル演算を実行することができなくな
る。
ベクトルレジスタの連鎖を行うことで、処理の高速化を
図っている。図13の例では、ベクトル加算命令VAD
Dの実行を、これに先行するベクトルロード命令VLO
ADの実行によりすべてのデータをベクトルレジスタに
書き込む前に開始する。この場合、先行するベクトルロ
ード命令VLOADにより主記憶装置300にアクセス
する際に他のベクトルロード命令と競合することで、加
算・論理パイプラインにベクトルデータが供給されなく
なり、正常にベクトル演算を実行することができなくな
る。
【0009】この問題点を解決するために、従来におい
てはベクトルレジスタ12からのデータの読み出しを行
うクロック信号の供給を停止することで、データの読み
出しを中断することが行われていた。クロック信号の供
給の停止は、演算パイプライン部VEに対しては大きな
影響を与えない。
てはベクトルレジスタ12からのデータの読み出しを行
うクロック信号の供給を停止することで、データの読み
出しを中断することが行われていた。クロック信号の供
給の停止は、演算パイプライン部VEに対しては大きな
影響を与えない。
【0010】
【発明が解決しようとする課題】しかしながら、データ
転送パイプライン18、20に対しては、以下の問題を
生ずる。例えば、ストアパイプラインでは通常、主記憶
装置300とベクトルレジスタ12との間にデータバッ
ファ30を設け、予め決められた数のマシンサイクルの
期間に、ベクトルデータをデータバッファ30に読み出
せることが確実であるという条件が設定されている。こ
こで、予め決められた数のマシンサイクルの期間とは、
記憶制御装置200のコントローラ32で実行の優先順
位が決定されてから主記憶装置300に対してデータを
送出するまでの時間に相当する。
転送パイプライン18、20に対しては、以下の問題を
生ずる。例えば、ストアパイプラインでは通常、主記憶
装置300とベクトルレジスタ12との間にデータバッ
ファ30を設け、予め決められた数のマシンサイクルの
期間に、ベクトルデータをデータバッファ30に読み出
せることが確実であるという条件が設定されている。こ
こで、予め決められた数のマシンサイクルの期間とは、
記憶制御装置200のコントローラ32で実行の優先順
位が決定されてから主記憶装置300に対してデータを
送出するまでの時間に相当する。
【0011】このような条件のもとで、ベクトルユニッ
トVUのコントローラ16がアクセス要求を主記憶装置
300に送出する制御と同時に、ベクトルレジスタ12
からストアされるデータをベクトルレジスタ12からデ
ータバッファ30に読み出し、書き込み許可信号を受信
した時点でストアデータをデータバッファ30から主記
憶装置300に転送する制御を行う場合、ベクトルバッ
ファ12からデータを読み出すためのクロック信号の供
給を止めてしまうと、データバッファ30へのデータの
書き込みが出来なくなる。従って、既に送出されたアク
セス要求、または既に優先順位が決定されてしまったア
クセス要求分のデータに関しては、予め決められた数の
マシンサイクル内にデータバッファ30にストアデータ
を供給できる保証がなくなり、いわゆるデータ化けが起
こる可能性がある。
トVUのコントローラ16がアクセス要求を主記憶装置
300に送出する制御と同時に、ベクトルレジスタ12
からストアされるデータをベクトルレジスタ12からデ
ータバッファ30に読み出し、書き込み許可信号を受信
した時点でストアデータをデータバッファ30から主記
憶装置300に転送する制御を行う場合、ベクトルバッ
ファ12からデータを読み出すためのクロック信号の供
給を止めてしまうと、データバッファ30へのデータの
書き込みが出来なくなる。従って、既に送出されたアク
セス要求、または既に優先順位が決定されてしまったア
クセス要求分のデータに関しては、予め決められた数の
マシンサイクル内にデータバッファ30にストアデータ
を供給できる保証がなくなり、いわゆるデータ化けが起
こる可能性がある。
【0012】従って、上記問題点の発生を防ぎ、ストア
パイプラインのデータ読み出しを中断する別の方法とし
て、ベクトルユニットVUから記憶制御装置200への
アクセス要求を止めるという手法が考えられる。
パイプラインのデータ読み出しを中断する別の方法とし
て、ベクトルユニットVUから記憶制御装置200への
アクセス要求を止めるという手法が考えられる。
【0013】図14は、図12に示すベクトルユニット
VUのコントローラ16のアクセス要求(主記憶装置3
00のアドレス発生)に関する構成を示す図である。レ
ジスタ読み出し制御部34は、ベクトルレジスタ12お
よびマスクレジスタ14の読み出しを制御する。レジス
タ読み出し制御部34は、内部にパイプラインストップ
予測器36を有する。このパイプラインストップ予測器
36は、ベクトル命令実行制御部VIから、演算パイプ
ライン停止警告信号VEーSTOPーWARNINGを
受けると、ベクトルレジスタ12からのデータの読み出
しを中断する必要があると判断して、アクセス要求停止
信号VEーSTOPを直ちに発生する。演算パイプライ
ン停止警告信号VEーSTOPーWARNINGは、ベ
クトルレジスタの連鎖状態でデータの枯渇により演算パ
イプラインの動作を停止させなければならない状態の発
生が予測され、したがってデータのストアを停止させる
必要があることを示す。
VUのコントローラ16のアクセス要求(主記憶装置3
00のアドレス発生)に関する構成を示す図である。レ
ジスタ読み出し制御部34は、ベクトルレジスタ12お
よびマスクレジスタ14の読み出しを制御する。レジス
タ読み出し制御部34は、内部にパイプラインストップ
予測器36を有する。このパイプラインストップ予測器
36は、ベクトル命令実行制御部VIから、演算パイプ
ライン停止警告信号VEーSTOPーWARNINGを
受けると、ベクトルレジスタ12からのデータの読み出
しを中断する必要があると判断して、アクセス要求停止
信号VEーSTOPを直ちに発生する。演算パイプライ
ン停止警告信号VEーSTOPーWARNINGは、ベ
クトルレジスタの連鎖状態でデータの枯渇により演算パ
イプラインの動作を停止させなければならない状態の発
生が予測され、したがってデータのストアを停止させる
必要があることを示す。
【0014】アドレス生成は、距離値レジスタ38、先
頭アドレス40、全加算器42、論理アドレスレジスタ
44、アドレス変換器46、および実アドレスレジスタ
48で行われる。ベクトル命令実行制御部VIから、起
動信号として、主記憶装置300の先頭アドレスと距離
値(何バイト毎にデータが置かれているかを示す情報)
を受取り、それぞれレジスタ40と38に書き込む。全
加算器42は、これらの値から論理アドレスを算出し、
レジスタ44に書き込む。この論理アドレスは、アドレ
ス変換器46で主記憶装置300の実アドレスに変換さ
れて、レジスタ48に書き込まれる。
頭アドレス40、全加算器42、論理アドレスレジスタ
44、アドレス変換器46、および実アドレスレジスタ
48で行われる。ベクトル命令実行制御部VIから、起
動信号として、主記憶装置300の先頭アドレスと距離
値(何バイト毎にデータが置かれているかを示す情報)
を受取り、それぞれレジスタ40と38に書き込む。全
加算器42は、これらの値から論理アドレスを算出し、
レジスタ44に書き込む。この論理アドレスは、アドレ
ス変換器46で主記憶装置300の実アドレスに変換さ
れて、レジスタ48に書き込まれる。
【0015】レジスタ48に書き込まれた実アドレスは
主記憶制御装置200のコントローラ32内のアドレス
キューバッファ50にキューイングされる。コントロー
ラ32は、キューイングされている実アドレスに対して
リクエスト優先順位決定処理を行い、読み出し器52を
介して一つの実アドレスを選択する。
主記憶制御装置200のコントローラ32内のアドレス
キューバッファ50にキューイングされる。コントロー
ラ32は、キューイングされている実アドレスに対して
リクエスト優先順位決定処理を行い、読み出し器52を
介して一つの実アドレスを選択する。
【0016】ここで、前述したアクセス要求停止信号V
EーSTOPは、論理アドレスレジスタ44に与えら
れ、その動作を停止させる。従って、論理アドレスはア
ドレス変換器46に供給されなくなり、これにより実ア
ドレスはアドレスキューレジスタ50に供給されなくな
る。なお、パイプラインストップ予測器36は、例え
ば、演算パイプライン停止警告信号VEーSTOPーW
ARNINGを受けてから所定時間経過後に、アクセス
要求停止信号VEーSTOPの出力を停止する。
EーSTOPは、論理アドレスレジスタ44に与えら
れ、その動作を停止させる。従って、論理アドレスはア
ドレス変換器46に供給されなくなり、これにより実ア
ドレスはアドレスキューレジスタ50に供給されなくな
る。なお、パイプラインストップ予測器36は、例え
ば、演算パイプライン停止警告信号VEーSTOPーW
ARNINGを受けてから所定時間経過後に、アクセス
要求停止信号VEーSTOPの出力を停止する。
【0017】しかしながら、図14に示す構成では、ア
クセス要求信号VEーSTOPを発生した後に発生した
アクセス要求によるデータ転送であって、その実行を停
止させる必要のないものまで、中断してしまう。この結
果、データバッファ30に無駄な空きができてしまい、
さらにストアパイプラインの動作に乱れが生じてしまう
という問題点がある。
クセス要求信号VEーSTOPを発生した後に発生した
アクセス要求によるデータ転送であって、その実行を停
止させる必要のないものまで、中断してしまう。この結
果、データバッファ30に無駄な空きができてしまい、
さらにストアパイプラインの動作に乱れが生じてしまう
という問題点がある。
【0018】本発明は、上記問題点を解決することを目
的とし、ベクトルレジスタ連鎖状態でベクトル命令を実
行中に演算パイプラインを一時的に停止させる必要があ
る場合、データバッファを効率よく使用でき、かつスト
アパイプラインの動作の乱れのないベクトル処理装置を
提供することを目的とする。
的とし、ベクトルレジスタ連鎖状態でベクトル命令を実
行中に演算パイプラインを一時的に停止させる必要があ
る場合、データバッファを効率よく使用でき、かつスト
アパイプラインの動作の乱れのないベクトル処理装置を
提供することを目的とする。
【0019】
【課題を解決するための手段】図1は本発明の原理を示
す図であり、図2に示すベクトル処理装置の要部の構成
をしめす。
す図であり、図2に示すベクトル処理装置の要部の構成
をしめす。
【0020】上記問題点を解決するために、本発明のベ
クトル処理装置は、複数の演算パイプラインとこれに接
続するベクトルレジスタ(12)を備え、識別情報が付
加されたアドレス情報を有するアクセス要求を出力する
ベクトルユニット(100A)と、演算パイプラインで
演算されるデータや演算結果を記憶する記憶装置(30
0)と、ベクトルレジスタと記憶装置との間に設けられ
たデータバッファ(30)を有する記憶制御装置(20
0A)と、前記データバッファから前記ベクトルレジス
タへの書き込み回数と前記ベクトルレジスタから前記デ
ータバッファへの読み出し回数とに基づきデータ数をカ
ウントする第1の手段(70)と、演算パイプラインが
ベクトルレジスタを介して連鎖状態にあるときに、第1
の手段でカウントされたデータ数に基づき、ベクトルユ
ニットから記憶装置に対するストアアクセス要求の停止
信号と停止すべきストアアクセス要求の識別情報を出力
する第2の手段(72)と、前記ベクトルユニットが出
力するアクセス要求に対応して、識別情報が付加された
記憶装置のアドレス情報を記憶制御装置に送出する第3
の手段(54)と、前記記憶制御装置に設けられ、前記
第3の手段が送出した前記アドレス情報を一時的に保持
する第4の手段(50)と、前記第2の手段から前記停
止信号と停止すべきストアアクセス要求の識別情報を供
給されて該第4の手段に保持されている前記識別情報を
参照して、アドレス情報を選択することでストアアクセ
ス要求を選択的に中断する第5の手段(52)とを有す
る。
クトル処理装置は、複数の演算パイプラインとこれに接
続するベクトルレジスタ(12)を備え、識別情報が付
加されたアドレス情報を有するアクセス要求を出力する
ベクトルユニット(100A)と、演算パイプラインで
演算されるデータや演算結果を記憶する記憶装置(30
0)と、ベクトルレジスタと記憶装置との間に設けられ
たデータバッファ(30)を有する記憶制御装置(20
0A)と、前記データバッファから前記ベクトルレジス
タへの書き込み回数と前記ベクトルレジスタから前記デ
ータバッファへの読み出し回数とに基づきデータ数をカ
ウントする第1の手段(70)と、演算パイプラインが
ベクトルレジスタを介して連鎖状態にあるときに、第1
の手段でカウントされたデータ数に基づき、ベクトルユ
ニットから記憶装置に対するストアアクセス要求の停止
信号と停止すべきストアアクセス要求の識別情報を出力
する第2の手段(72)と、前記ベクトルユニットが出
力するアクセス要求に対応して、識別情報が付加された
記憶装置のアドレス情報を記憶制御装置に送出する第3
の手段(54)と、前記記憶制御装置に設けられ、前記
第3の手段が送出した前記アドレス情報を一時的に保持
する第4の手段(50)と、前記第2の手段から前記停
止信号と停止すべきストアアクセス要求の識別情報を供
給されて該第4の手段に保持されている前記識別情報を
参照して、アドレス情報を選択することでストアアクセ
ス要求を選択的に中断する第5の手段(52)とを有す
る。
【0021】
【作用】従来は、連鎖状態にある演算パイプラインにデ
ータの枯渇が予想される場合、すべてのストアアクセス
要求の送出を中断していたが、本発明では前記データバ
ッファから前記ベクトルレジスタへの書き込み回数と前
記ベクトルレジスタから前記データバッファへの読み出
し回数とに基づきデータ数を第1の手段(70)でカウ
ントして、演算パイプラインがベクトルレジスタを介し
て連鎖状態にあるときに、第1の手段でカウントされた
データ数に基づき、ベクトルユニットから記憶装置に対
するストアアクセス要求の停止信号と停止すべきストア
アクセス要求の識別情報を出力し、第4の手段(50)
に保持されている識別情報を参照して、アドレス情報を
選択することでストアアクセス要求を選択的に中断する
ので、必要最小限のストアアクセス要求のみ中断するこ
とができる。
ータの枯渇が予想される場合、すべてのストアアクセス
要求の送出を中断していたが、本発明では前記データバ
ッファから前記ベクトルレジスタへの書き込み回数と前
記ベクトルレジスタから前記データバッファへの読み出
し回数とに基づきデータ数を第1の手段(70)でカウ
ントして、演算パイプラインがベクトルレジスタを介し
て連鎖状態にあるときに、第1の手段でカウントされた
データ数に基づき、ベクトルユニットから記憶装置に対
するストアアクセス要求の停止信号と停止すべきストア
アクセス要求の識別情報を出力し、第4の手段(50)
に保持されている識別情報を参照して、アドレス情報を
選択することでストアアクセス要求を選択的に中断する
ので、必要最小限のストアアクセス要求のみ中断するこ
とができる。
【0022】
【実施例】図2は、本発明の一実施例によるベクトル処
理装置の要部を示すブロック図である。図中、図12と
同一の構成要素には同一の参照番号を付してある。図2
のベクトル処理装置は、ベクトルユニット100Aと、
記憶制御装置200Aと、主記憶装置300と、スカラ
ユニットとを有する。なお、便宜上、スカラユニットの
図示は省略してある。 ベクトルユニット100Aは、
ベクトル命令実行制御部110、コントローラ16A、
ベクトルレジスタ12、マスクレジスタ14、および演
算パイプラインを有する。なお、便宜上、演算パイプラ
インは図示を省略しているが、図12に示すように、ベ
クトルレジスタ12およびマスクレジスタ14に接続さ
れている。ベクトル命令実行制御部110は、図示を省
略しているスカラユニットに接続されており、コントロ
ーラ16Aに起動信号STARTや演算パイプライン停
止警告信号VEーSTOPーWARNINGを送出し、
コントローラ16Aから書き込み有効信号WVを受け取
る。
理装置の要部を示すブロック図である。図中、図12と
同一の構成要素には同一の参照番号を付してある。図2
のベクトル処理装置は、ベクトルユニット100Aと、
記憶制御装置200Aと、主記憶装置300と、スカラ
ユニットとを有する。なお、便宜上、スカラユニットの
図示は省略してある。 ベクトルユニット100Aは、
ベクトル命令実行制御部110、コントローラ16A、
ベクトルレジスタ12、マスクレジスタ14、および演
算パイプラインを有する。なお、便宜上、演算パイプラ
インは図示を省略しているが、図12に示すように、ベ
クトルレジスタ12およびマスクレジスタ14に接続さ
れている。ベクトル命令実行制御部110は、図示を省
略しているスカラユニットに接続されており、コントロ
ーラ16Aに起動信号STARTや演算パイプライン停
止警告信号VEーSTOPーWARNINGを送出し、
コントローラ16Aから書き込み有効信号WVを受け取
る。
【0023】コントローラ16Aは、リクエストアドレ
ス発生器54、レジスタ書き込み制御器56、レジスタ
読み出し制御器58、バッファ書き込み制御器60、お
よびバッファ読み出し制御器62を有する。これらの制
御器は、それぞれまたは単一の例えばマイクロコンピュ
ータで構成され、後述するプログラムを実行する。
ス発生器54、レジスタ書き込み制御器56、レジスタ
読み出し制御器58、バッファ書き込み制御器60、お
よびバッファ読み出し制御器62を有する。これらの制
御器は、それぞれまたは単一の例えばマイクロコンピュ
ータで構成され、後述するプログラムを実行する。
【0024】図1は、レクエストアドレス発生器54、
レジスタ読み出し制御器58、および後述するリクエス
ト優先順位決定器64のそれぞれの要部を示す図であ
る。リクエストアドレス発生器54は、前述した距離値
レジスタ38、先頭アドレスレジスタ40、全加算器4
2、論理アドレスレジスタ44、アドレス変換器46お
よび実アドレスレジスタ48を有する。論理アドレスレ
ジスタ44中の論理アドレスには、その識別情報IDが
付与されている。この識別情報IDは、ベクトル命令実
行制御部110でアドレスに付与され、実アドレスに変
換された後にも実アドレスに付与されており、アドレス
キューレジスタ50に実アドレスとともにそのまま転送
される。
レジスタ読み出し制御器58、および後述するリクエス
ト優先順位決定器64のそれぞれの要部を示す図であ
る。リクエストアドレス発生器54は、前述した距離値
レジスタ38、先頭アドレスレジスタ40、全加算器4
2、論理アドレスレジスタ44、アドレス変換器46お
よび実アドレスレジスタ48を有する。論理アドレスレ
ジスタ44中の論理アドレスには、その識別情報IDが
付与されている。この識別情報IDは、ベクトル命令実
行制御部110でアドレスに付与され、実アドレスに変
換された後にも実アドレスに付与されており、アドレス
キューレジスタ50に実アドレスとともにそのまま転送
される。
【0025】図1に示すように、レジスタ読み出し制御
器58は、データバッファ有効カウンタ70およびパイ
プラインストップ予測器72を有する。カウンタ70や
予測器72は、例えばレジスタ読み出し制御器58が実
行するソフトウエアで実現される。後述するように、デ
ータバッファ有効カウンタ70は、ベクトルレジスタ1
2からデータバッファ30へ読み出されたデータの数を
カウントして、データのストアに用いられる転送パイプ
ラインの動作を必要最小限のアクセス要求しか中断させ
ないように制御する。パイプラインストップ予測器72
は演算パイプライン停止警告信号VEーSTOPーWA
RNINGをベクトル命令実行制御部110から受け
て、アクセス要求停止信号VEーSTOPを、停止すべ
きベクトル命令の識別情報IDとともに記憶制御装置2
00Aのリクエスト優先順位決定器64の読み出し器5
2に送る。
器58は、データバッファ有効カウンタ70およびパイ
プラインストップ予測器72を有する。カウンタ70や
予測器72は、例えばレジスタ読み出し制御器58が実
行するソフトウエアで実現される。後述するように、デ
ータバッファ有効カウンタ70は、ベクトルレジスタ1
2からデータバッファ30へ読み出されたデータの数を
カウントして、データのストアに用いられる転送パイプ
ラインの動作を必要最小限のアクセス要求しか中断させ
ないように制御する。パイプラインストップ予測器72
は演算パイプライン停止警告信号VEーSTOPーWA
RNINGをベクトル命令実行制御部110から受け
て、アクセス要求停止信号VEーSTOPを、停止すべ
きベクトル命令の識別情報IDとともに記憶制御装置2
00Aのリクエスト優先順位決定器64の読み出し器5
2に送る。
【0026】レジスタ書き込み制御器56は、ベクトル
レジスタ12およびマスクレジスタ14の書き込み動作
を制御する。レジスタ読み出し制御器58は、ベクトル
レジスタ12およびマスクレジスタ14の読み出し動作
を制御する。バッファ書き込み制御器60は、記憶制御
装置200A中のデータバッファ30の書き込み動作を
制御する。バッファ読み出し制御器62は、データバッ
ファ30の読み出し動作を制御する。
レジスタ12およびマスクレジスタ14の書き込み動作
を制御する。レジスタ読み出し制御器58は、ベクトル
レジスタ12およびマスクレジスタ14の読み出し動作
を制御する。バッファ書き込み制御器60は、記憶制御
装置200A中のデータバッファ30の書き込み動作を
制御する。バッファ読み出し制御器62は、データバッ
ファ30の読み出し動作を制御する。
【0027】記憶制御装置200Aのコントローラ32
Aは、リクエスト優先順位決定器64、バッファ無効化
処理器66、および主記憶装置制御器68を有する。リ
クエスト優先順位決定器64は図1に示すように、後述
する制御を実行する部分以外に、アドレスキューレジス
タ50と読み出し器52を有する。アドレスキューレジ
スタ50に格納されている実アドレス(アクセス要求)
は、リクエスト優先順位が付与されるまで一時的に保持
される。読み出し器52は、アクセス要求停止信号VE
ーSTOPおよび識別情報IDを受信しているときに
は、アドレスキューレジスタ50に格納されている実ア
ドレスのうち同一の識別情報IDが付与されていない実
アドレスのみを読み出して、主記憶装置制御器68に送
出する。これにより、無駄にアクセス要求を中断させる
ことなく、必要最小限のアクセス要求のみ中断させる。
Aは、リクエスト優先順位決定器64、バッファ無効化
処理器66、および主記憶装置制御器68を有する。リ
クエスト優先順位決定器64は図1に示すように、後述
する制御を実行する部分以外に、アドレスキューレジス
タ50と読み出し器52を有する。アドレスキューレジ
スタ50に格納されている実アドレス(アクセス要求)
は、リクエスト優先順位が付与されるまで一時的に保持
される。読み出し器52は、アクセス要求停止信号VE
ーSTOPおよび識別情報IDを受信しているときに
は、アドレスキューレジスタ50に格納されている実ア
ドレスのうち同一の識別情報IDが付与されていない実
アドレスのみを読み出して、主記憶装置制御器68に送
出する。これにより、無駄にアクセス要求を中断させる
ことなく、必要最小限のアクセス要求のみ中断させる。
【0028】主記憶装置制御器68はアクセス要求(実
アドレス)をリクエスト優先順位決定器64から受信
し、主記憶装置300に実アドレスなどの必要な信号を
出力する。バッファ無効化処理器66は、図2に示すス
カラユニットSUのバッファ26の無効化処理を行う。
データバッファ30は、ストア用とロード用に分割され
ている。
アドレス)をリクエスト優先順位決定器64から受信
し、主記憶装置300に実アドレスなどの必要な信号を
出力する。バッファ無効化処理器66は、図2に示すス
カラユニットSUのバッファ26の無効化処理を行う。
データバッファ30は、ストア用とロード用に分割され
ている。
【0029】次に、図1および2に示す実施例の動作を
説明する。
説明する。
【0030】はじめに、ロード命令およびストア命令を
実行するときの動作の概要について説明する。主記憶装
置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(図2)に対して無効化処理を行う。データ転送
信号を受けたバッファ読み出し制御器62はストアされ
たデータをデータバッファ30から読み出し、主記憶装
置300に送出する。これと同時に、記憶制御装置20
0Aの主記憶装置制御器68は、主記憶装置300にア
ドレスと起動信号(GO)を送出する。 次に、各部の
詳細な動作を説明する。
実行するときの動作の概要について説明する。主記憶装
置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(図2)に対して無効化処理を行う。データ転送
信号を受けたバッファ読み出し制御器62はストアされ
たデータをデータバッファ30から読み出し、主記憶装
置300に送出する。これと同時に、記憶制御装置20
0Aの主記憶装置制御器68は、主記憶装置300にア
ドレスと起動信号(GO)を送出する。 次に、各部の
詳細な動作を説明する。
【0031】図3は、リクエストアドレス発生器54お
よびリクエスト優先順位決定器64の動作を示すフロー
チャートである。スカラユニットSUから起動信号を受
けると、動作が開始する(ステップS11)。ベクトル
命令実行制御部110からアクセス要求の先頭アドレス
と距離値を受取り、論理アドレスを計算する(ステップ
S12)。ベクトル長分の論理アドレスが発生されたこ
とが確認されると(ステップS13)、リクエストアド
レス発生器54は、仮想アドレスモードが設定されてい
るかどうかを判定する(ステップS14)。仮想アドレ
スモードが設定されている場合には、論理アドレスから
実アドレスに変換する(ステップS15)。そして、リ
クエストアドレス発生器54はアドレスキューバッファ
50に実アドレスが保持されているかどうかを判断する
(ステップS16)。仮想アドレスモードが設定されて
いない場合には、ステップS15を行うことなく、ステ
ップS16が実行される。
よびリクエスト優先順位決定器64の動作を示すフロー
チャートである。スカラユニットSUから起動信号を受
けると、動作が開始する(ステップS11)。ベクトル
命令実行制御部110からアクセス要求の先頭アドレス
と距離値を受取り、論理アドレスを計算する(ステップ
S12)。ベクトル長分の論理アドレスが発生されたこ
とが確認されると(ステップS13)、リクエストアド
レス発生器54は、仮想アドレスモードが設定されてい
るかどうかを判定する(ステップS14)。仮想アドレ
スモードが設定されている場合には、論理アドレスから
実アドレスに変換する(ステップS15)。そして、リ
クエストアドレス発生器54はアドレスキューバッファ
50に実アドレスが保持されているかどうかを判断する
(ステップS16)。仮想アドレスモードが設定されて
いない場合には、ステップS15を行うことなく、ステ
ップS16が実行される。
【0032】ステップS16で、アドレスキューレジス
タ50に実アドレス(アクセス要求)があると判断され
た場合には、ステップS20を実行する。そうでない場
合には、リクエストアドレス発生器54は、リクエスト
優先順位決定器64がビジィーかどうかを判断する(ス
テップS17)。この判断は、例えば、リクエスト優先
順位決定器64からのビジィー信号線の状態を見ること
で行う。ビジィーと判断された場合にはステップS20
を実行する。ステップS17でビジィーでないと判断さ
れた場合には、リクエスト優先順位決定器64の読み出
し器52はアクセス要求停止信号VEーSTOPが供給
されているかどうかを判断する(ステップS18)。ス
テップS18の判断結果がNOの場合には、アドレスキ
ューレジスタ50に実アドレスを書き込むことなく、リ
クエスト優先順位決定器64を介して直ちにアクセス要
求(実アドレス)を主記憶装置300に送出する(ステ
ップS22)。
タ50に実アドレス(アクセス要求)があると判断され
た場合には、ステップS20を実行する。そうでない場
合には、リクエストアドレス発生器54は、リクエスト
優先順位決定器64がビジィーかどうかを判断する(ス
テップS17)。この判断は、例えば、リクエスト優先
順位決定器64からのビジィー信号線の状態を見ること
で行う。ビジィーと判断された場合にはステップS20
を実行する。ステップS17でビジィーでないと判断さ
れた場合には、リクエスト優先順位決定器64の読み出
し器52はアクセス要求停止信号VEーSTOPが供給
されているかどうかを判断する(ステップS18)。ス
テップS18の判断結果がNOの場合には、アドレスキ
ューレジスタ50に実アドレスを書き込むことなく、リ
クエスト優先順位決定器64を介して直ちにアクセス要
求(実アドレス)を主記憶装置300に送出する(ステ
ップS22)。
【0033】ステップS18でアクセス要求停止信号V
EーSTOPが供給されている判断されたときは、リク
エストアドレス発生器54からの実アドレスに付与され
ている識別情報IDが読み出し器52はレジスタ読み出
し制御器58からの識別情報IDに一致するかどうかを
判断する。一致しない場合には、直ちにアドレスと起動
信号が主記憶装置300に送出される(ステップS2
2)。ステップS19で識別情報IDが一致すると判断
されると、実アドレスをアドレスキューバッファ50に
書き込んだ後、アクセス要求停止信号VEーSTOPが
なくなるまで保持される。すなわち、ステップS21で
アドレスキューレジスタ50にアクセスして、ステップ
S17とS18の判断結果がNOの場合に、ステップS
22が実行される。
EーSTOPが供給されている判断されたときは、リク
エストアドレス発生器54からの実アドレスに付与され
ている識別情報IDが読み出し器52はレジスタ読み出
し制御器58からの識別情報IDに一致するかどうかを
判断する。一致しない場合には、直ちにアドレスと起動
信号が主記憶装置300に送出される(ステップS2
2)。ステップS19で識別情報IDが一致すると判断
されると、実アドレスをアドレスキューバッファ50に
書き込んだ後、アクセス要求停止信号VEーSTOPが
なくなるまで保持される。すなわち、ステップS21で
アドレスキューレジスタ50にアクセスして、ステップ
S17とS18の判断結果がNOの場合に、ステップS
22が実行される。
【0034】図4は、レジスタ読み出し制御器58の動
作を示すフローチャートである。はじめに、レジスタ読
み出し制御器58はデータバッファ30がフルがどうか
を判断する(ステップS31)。データバッファ30が
フルと判断された場合は、ステップS31の判断結果が
NOとなるまで、レジスタ読み出し制御器58は繰り返
しステップS31を実行する。ステップS31の判断結
果がNOとなると、レジスタ読み出し制御器58は、ア
クセス要求停止信号VEーSTOPを発生しているかど
うかを判断する(ステップS32)。この判断結果がY
ESのときには、ステップS31に戻る。ステップS3
2の判断結果がNOのときには、レジスタ読み出し制御
器58はベクトルレジスタ12からデータを読み出し
(ステップ33)、レジスタ読み出し制御器58はベク
トルレジスタ12からデータをベクトル長分読み出した
かどうかを判断する(ステップS34)。この判断結果
がNOのときには、ステップS31に戻る。ステップS
34の判断結果がYESのときには、データバッファ3
0に読み出したデータを書き込む(ステップS35)。
作を示すフローチャートである。はじめに、レジスタ読
み出し制御器58はデータバッファ30がフルがどうか
を判断する(ステップS31)。データバッファ30が
フルと判断された場合は、ステップS31の判断結果が
NOとなるまで、レジスタ読み出し制御器58は繰り返
しステップS31を実行する。ステップS31の判断結
果がNOとなると、レジスタ読み出し制御器58は、ア
クセス要求停止信号VEーSTOPを発生しているかど
うかを判断する(ステップS32)。この判断結果がY
ESのときには、ステップS31に戻る。ステップS3
2の判断結果がNOのときには、レジスタ読み出し制御
器58はベクトルレジスタ12からデータを読み出し
(ステップ33)、レジスタ読み出し制御器58はベク
トルレジスタ12からデータをベクトル長分読み出した
かどうかを判断する(ステップS34)。この判断結果
がNOのときには、ステップS31に戻る。ステップS
34の判断結果がYESのときには、データバッファ3
0に読み出したデータを書き込む(ステップS35)。
【0035】図5は、図1に示すレジスタ読み出し制御
器58の内部に設けられたデータバッファ有効カウンタ
70の動作を示すフローチャートである。レジスタ読み
出し制御器58は、書き込み制御器56がベクトルバッ
ファ12にデータを書き込んだ際に生成される書き込み
有効信号WVに基づき、ベクトルバッファ12へのデー
タの書き込みがあったかどうかを判断する(ステップS
41)。この判断結果がYESの場合には、レジスタ読
み出し制御器58は、データバッファ有効カウンタ70
のカウンタ値を1だけインクレメントする(ステップS
42)。レジスタ読み出し制御器58は、ベクトルバッ
ファ12からデータを読み出した際に生成される読み出
し有効信号RVに基づき、ベクトルバッファ12からの
データの読み出しがあったかどうかを判断する(ステッ
プS43)。この判断結果がYESの場合には、レジス
タ読み出し制御器58は、データバッファ有効カウンタ
70のカウンタ値を1だけデクレメントする(ステップ
S44)。そして、ステップS41に戻る。 図6は、
図1に示すレジスタ読み出し制御器58の内部に設けら
れたパイプラインストップ予測器72の動作を示すフロ
ーチャートである。はじめに、ベクトル命令実行制御部
110(図2)から演算パイプライン停止警告信号VE
ーSTOPーWARNINGを受信すると(ステップS
51)、データバッファ有効カウンタ70のカウンタ値
(ベクトルレジスタ12から読み出されたデータの数)
が所定値Xより小さいかどうかを判断する(ステップS
52)。この所定値Xは、演算パイプラインVEのデー
タの枯渇を示す演算パイプライン停止警告信号VEーS
TOPーWARNINGが出されても、許容できるアク
セス数(データ量)の予測値に相当する。もしデータバ
ッファ有効カウンタ70のカウンタ値がこの所定値X以
下になると、アクセス要求の受け付けにより、ベクトル
レジスタの連鎖状態でのベクトル命令の実行に障害(デ
ータの枯渇)が生じる可能性がある。 ステップS52
で、データバッファ有効カウンタ70のカウンタ値か所
定値より小さいと判断されたとき、パイプラインの動作
を停止させるべきと判断して(ステップS53)、予測
器72はアクセス要求停止信号VEーSTOPを識別情
報IDとともに図1の読み出し器52に出力する。
器58の内部に設けられたデータバッファ有効カウンタ
70の動作を示すフローチャートである。レジスタ読み
出し制御器58は、書き込み制御器56がベクトルバッ
ファ12にデータを書き込んだ際に生成される書き込み
有効信号WVに基づき、ベクトルバッファ12へのデー
タの書き込みがあったかどうかを判断する(ステップS
41)。この判断結果がYESの場合には、レジスタ読
み出し制御器58は、データバッファ有効カウンタ70
のカウンタ値を1だけインクレメントする(ステップS
42)。レジスタ読み出し制御器58は、ベクトルバッ
ファ12からデータを読み出した際に生成される読み出
し有効信号RVに基づき、ベクトルバッファ12からの
データの読み出しがあったかどうかを判断する(ステッ
プS43)。この判断結果がYESの場合には、レジス
タ読み出し制御器58は、データバッファ有効カウンタ
70のカウンタ値を1だけデクレメントする(ステップ
S44)。そして、ステップS41に戻る。 図6は、
図1に示すレジスタ読み出し制御器58の内部に設けら
れたパイプラインストップ予測器72の動作を示すフロ
ーチャートである。はじめに、ベクトル命令実行制御部
110(図2)から演算パイプライン停止警告信号VE
ーSTOPーWARNINGを受信すると(ステップS
51)、データバッファ有効カウンタ70のカウンタ値
(ベクトルレジスタ12から読み出されたデータの数)
が所定値Xより小さいかどうかを判断する(ステップS
52)。この所定値Xは、演算パイプラインVEのデー
タの枯渇を示す演算パイプライン停止警告信号VEーS
TOPーWARNINGが出されても、許容できるアク
セス数(データ量)の予測値に相当する。もしデータバ
ッファ有効カウンタ70のカウンタ値がこの所定値X以
下になると、アクセス要求の受け付けにより、ベクトル
レジスタの連鎖状態でのベクトル命令の実行に障害(デ
ータの枯渇)が生じる可能性がある。 ステップS52
で、データバッファ有効カウンタ70のカウンタ値か所
定値より小さいと判断されたとき、パイプラインの動作
を停止させるべきと判断して(ステップS53)、予測
器72はアクセス要求停止信号VEーSTOPを識別情
報IDとともに図1の読み出し器52に出力する。
【0036】図7は、図2に示すバッファ無効化処理器
66の動作を示すフローチャートである。バッファ無効
化処理器66はリクエスト優先順位決定器64からデー
タ転送信号を受信すると(ステップS61)、このデー
タ転送信号がストア命令かどうかを判断する(ステップ
S62)。ストア命令でない場合には、アクセス要求が
スカラユニットSUからのフェッチの場合かどうか判断
する(ステップS63)。アクセス要求がスカラユニッ
トSUからのフェッチの場合には、バッファ無効化処理
器66はアクセス要求のアドレスを内部のタグレジスタ
(TAG)に登録する(ステップS64)。また、バッ
ファ無効化器66は、アクセス要求がベクトルユニット
100Aからのストア命令かどうかを判断する(ステッ
プS65)。ステップS65の判断結果がYESの場合
にはタグレジスタを参照し(ステップS66)、アクセ
ス要求がタグレジスタに登録されていた場合には(ステ
ップS67)、このアクセス要求を内部のキューレジス
タに格納した後(ステップS68)、スカラユニットS
Uのバッファに26(図2)に対して無効化処理を行う
(ステップS69)。 図8は、バッファ読出し制御器
62の動作を示すフローチャートである。バッファ読出
し制御器62は、リクエスト優先順位決定器64から、
データの枯渇を示す警告信号DTW(DATAーTRA
NSFERーWARNING)を受信すると(ステップ
S71)、データバッファ30からのデータを読み出し
動作を行い(ステップS72)、このデータの読み出し
をレジスタ読み出し制御器58に報告する(ステップS
73)。 図9は、本実施例の動作を示すタイミング図
である。図9のIは従来のアクセス制御動作を示し、I
Iは本実施例のアクセス制御動作を示す。図9のIの
(A)およびIIの(C)は、ロード命令実行時のタイ
ミングを示し、Iの(B)およびIIの(D)は、スト
ア命令実行時のタイミングを示す。ロード命令は、従来
動作および本実施例動作とも変わりはない。
66の動作を示すフローチャートである。バッファ無効
化処理器66はリクエスト優先順位決定器64からデー
タ転送信号を受信すると(ステップS61)、このデー
タ転送信号がストア命令かどうかを判断する(ステップ
S62)。ストア命令でない場合には、アクセス要求が
スカラユニットSUからのフェッチの場合かどうか判断
する(ステップS63)。アクセス要求がスカラユニッ
トSUからのフェッチの場合には、バッファ無効化処理
器66はアクセス要求のアドレスを内部のタグレジスタ
(TAG)に登録する(ステップS64)。また、バッ
ファ無効化器66は、アクセス要求がベクトルユニット
100Aからのストア命令かどうかを判断する(ステッ
プS65)。ステップS65の判断結果がYESの場合
にはタグレジスタを参照し(ステップS66)、アクセ
ス要求がタグレジスタに登録されていた場合には(ステ
ップS67)、このアクセス要求を内部のキューレジス
タに格納した後(ステップS68)、スカラユニットS
Uのバッファに26(図2)に対して無効化処理を行う
(ステップS69)。 図8は、バッファ読出し制御器
62の動作を示すフローチャートである。バッファ読出
し制御器62は、リクエスト優先順位決定器64から、
データの枯渇を示す警告信号DTW(DATAーTRA
NSFERーWARNING)を受信すると(ステップ
S71)、データバッファ30からのデータを読み出し
動作を行い(ステップS72)、このデータの読み出し
をレジスタ読み出し制御器58に報告する(ステップS
73)。 図9は、本実施例の動作を示すタイミング図
である。図9のIは従来のアクセス制御動作を示し、I
Iは本実施例のアクセス制御動作を示す。図9のIの
(A)およびIIの(C)は、ロード命令実行時のタイ
ミングを示し、Iの(B)およびIIの(D)は、スト
ア命令実行時のタイミングを示す。ロード命令は、従来
動作および本実施例動作とも変わりはない。
【0037】従来のストア命令の実行では、図9のIの
(B)に示すように、アクセス要求停止信号VEーST
OPが生成されている間は、アドレス変換は行われな
い。図14を参照して前述したように、アクセス要求停
止信号VEーSTOPは論理アドレスレジスタ44に出
力され、論理アドレスのアドレス変換器46への出力が
禁止されている。アクセス要求停止信号VEーSTOP
がオフになると、アドレス変換動作が開始される。
(B)に示すように、アクセス要求停止信号VEーST
OPが生成されている間は、アドレス変換は行われな
い。図14を参照して前述したように、アクセス要求停
止信号VEーSTOPは論理アドレスレジスタ44に出
力され、論理アドレスのアドレス変換器46への出力が
禁止されている。アクセス要求停止信号VEーSTOP
がオフになると、アドレス変換動作が開始される。
【0038】これに対し、本実施例では、図9のIIの
(D)に示すように、アクセス要求停止信号VEーST
OPが生成されている間でも、アドレス変換動作は行わ
れている。前述したように、必要最小限のアクセス要求
のみ中断されるために、アドレス変換動作は継続して実
行される。アクセス要求信号VEーSTOPかオフにな
ると、アクセス要求に対し優先順位が決定される。
(D)に示すように、アクセス要求停止信号VEーST
OPが生成されている間でも、アドレス変換動作は行わ
れている。前述したように、必要最小限のアクセス要求
のみ中断されるために、アドレス変換動作は継続して実
行される。アクセス要求信号VEーSTOPかオフにな
ると、アクセス要求に対し優先順位が決定される。
【0039】図10は、ストア命令の別の実行の様子を
示す図である。図10の(A)は従来のストア命令実行
時のタイミングを示し、図10の(B)は本実施例のス
トア命令実行時のタイミングを示す。従来の制御では、
アドレス変換動作中にアクセス要求停止信号VEーST
OPがオンになると、アドレス変換動作は直ちに中断さ
れる。すでに、優先順位が与えられている先行命令はそ
のまま実行され、データバッファ30からデータが読み
出され、主記憶装置300に格納される。アクセス要求
停止信号VEーSTOPがオフになると、再びアドレス
変換動作が開始される。
示す図である。図10の(A)は従来のストア命令実行
時のタイミングを示し、図10の(B)は本実施例のス
トア命令実行時のタイミングを示す。従来の制御では、
アドレス変換動作中にアクセス要求停止信号VEーST
OPがオンになると、アドレス変換動作は直ちに中断さ
れる。すでに、優先順位が与えられている先行命令はそ
のまま実行され、データバッファ30からデータが読み
出され、主記憶装置300に格納される。アクセス要求
停止信号VEーSTOPがオフになると、再びアドレス
変換動作が開始される。
【0040】これに対し、本実施例ではアクセス要求信
号VEーSTOPがオンになっても、アドレス変換動作
は中断されない。
号VEーSTOPがオンになっても、アドレス変換動作
は中断されない。
【0041】なお、マスクレジスタ14は演算を選択的
に実行しなければならない場合に、条件判定結果をビッ
ト列によるマスクパターンとして与えて、パイプライン
処理の適用範囲を拡大するために用いられる。本実施例
の制御では直接関係しないので、その動作の詳細は省略
する。
に実行しなければならない場合に、条件判定結果をビッ
ト列によるマスクパターンとして与えて、パイプライン
処理の適用範囲を拡大するために用いられる。本実施例
の制御では直接関係しないので、その動作の詳細は省略
する。
【0042】
【発明の効果】以上、説明したように、本発明によれ
ば、以下の効果が得られる。
ば、以下の効果が得られる。
【0043】第一に、データバッファ有効カウンタを設
けて、パイプラインの動作を停止する必要がある場合、
データバッファの状態を参照して、必要最小限のアクセ
ス要求のみ中断させるようにすることができる。従っ
て、データバッファを有するパイプラインを効率よく利
用することができる。
けて、パイプラインの動作を停止する必要がある場合、
データバッファの状態を参照して、必要最小限のアクセ
ス要求のみ中断させるようにすることができる。従っ
て、データバッファを有するパイプラインを効率よく利
用することができる。
【0044】第二に、ベクトル命令に識別情報IDを付
与して、アクセス要求の停止が求められるベクトル命令
の識別情報IDと比較することで、確実にアクセス要求
の停止が求められるベクトル命令のみを特定できる。
与して、アクセス要求の停止が求められるベクトル命令
の識別情報IDと比較することで、確実にアクセス要求
の停止が求められるベクトル命令のみを特定できる。
【0045】第三に、従来ではアドレス発生のスループ
ットとベクトルレジスタからの読み出しのスループット
が一致しているという条件において、パイプラインの動
作の停止が行われていたが、本発明では両者のスループ
ットが一致しないベクトル処理装置においても制御可能
である。
ットとベクトルレジスタからの読み出しのスループット
が一致しているという条件において、パイプラインの動
作の停止が行われていたが、本発明では両者のスループ
ットが一致しないベクトル処理装置においても制御可能
である。
【図1】本発明の原理を示す図であって、図2に示すリ
クエストアドレス発生器、レジスタ読み出し制御器、お
よびリクエスト優先順位決定器の要部を示すブロック図
である。
クエストアドレス発生器、レジスタ読み出し制御器、お
よびリクエスト優先順位決定器の要部を示すブロック図
である。
【図2】本発明の一実施例のブロック図である。
【図3】図1および図2に示すリクエストアドレス発生
器の動作を示すフローチャートである。
器の動作を示すフローチャートである。
【図4】図1および図2に示すレジスタ読み出し制御器
の動作を示すフローチャートである。
の動作を示すフローチャートである。
【図5】図1に示すデータバッファ有効カウンタの動作
を示すフローチャートである。
を示すフローチャートである。
【図6】図1に示すパイプラインストップ予測器の動作
を示すフローチャートである。
を示すフローチャートである。
【図7】図2に示すバッファ無効化処理器の動作を示す
フローチャートである。
フローチャートである。
【図8】図2に示すバッファ書き込み制御器の動作を示
すフローチャートである。
すフローチャートである。
【図9】本実施例の動作および対応する従来技術による
動作を示すタイミング図である。
動作を示すタイミング図である。
【図10】本実施例の動作を示すタイミング図である。
【図11】ベクトル処理装置の概略構成を示すブロック
図である。
図である。
【図12】図11に示すベクトル処理装置の詳細な構成
を示すブロック図である。
を示すブロック図である。
【図13】ベクトルレジスタの連鎖を示す図である。
【図14】図11に示すリクエストアドレス発生器、レ
ジスタ読み出し制御器、およびリクエスト優先順位決定
器の要部を示すブロック図である。
ジスタ読み出し制御器、およびリクエスト優先順位決定
器の要部を示すブロック図である。
12 ベクトルレジスタ 14 マスクレジスタ 16、16A コントローラ 18 ロードパイプライン 20 ストアパイプライン 22 スカラ演算器 24 スカラレジスタ 26 バッファ 30 データバッファ 32、32A コントローラ 36 パイプラインストップ予測器 50 アドレスキューレジスタ 52 読み出し器 54 リクエストアドレス発生器 56 レジスタ書き込み制御器 58 レジスタ読み出し制御器 60 バッファ書き込み制御器 62 バッファ読み出し制御器 64 リクエスト優先順位決定器 66 バッファ無効化処理器 68 主記憶装置制御器 70 データバッファ有効カウンタ 72 パイプラインストップ予測器 100、100A ベクトルユニット 110A ベクトル命令実行制御部 200、200A 記憶制御装置 300 主記憶装置
フロントページの続き (56)参考文献 特開 昭60−118977(JP,A) 特開 昭63−137364(JP,A) 特開 昭60−247783(JP,A) 特開 昭60−118976(JP,A) 特開 平4−74266(JP,A) 特開 昭58−1246(JP,A) 特開 昭51−10746(JP,A) 特開 平4−153877(JP,A) 特開 昭60−222969(JP,A) 特開 平4−52759(JP,A) 特開 昭62−120574(JP,A) 特開 昭61−286931(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/16
Claims (2)
- 【請求項1】 複数の演算パイプラインとこれに接続す
るベクトルレジスタを備え、識別情報が付加されたアド
レス情報を有するアクセス要求を出力するベクトルユニ
ットと、 演算パイプラインで演算されるデータや演算結果を記憶
する記憶装置と、 ベクトルレジスタと記憶装置との間に設けられたデータ
バッファを有する記憶制御装置と、前記データバッファから前記ベクトルレジスタへの書き
込み回数と前記ベクトルレジスタから前記データバッフ
ァへの読み出し回数とに基づき データ数をカウントする
第1の手段と、 前記演算パイプラインがベクトルレジスタを介して連鎖
状態にあるときに、第1の手段でカウントされたデータ
数に基づき、ベクトルユニットから記憶装置に対するス
トアアクセス要求の停止信号と停止すべきストアアクセ
ス要求の識別情報を出力する第2の手段と、前記ベクトルユニットが出力するアクセス要求に対応し
て、 識別情報が付加された記憶装置のアドレス情報を記
憶制御装置に送出する第3の手段と、 前記記憶制御装置に設けられ、前記第3の手段が送出し
た前記アドレス情報を一時的に保持する第4の手段と、 前記第2の手段から前記停止信号と停止すべきストアア
クセス要求の識別情報を供給されて該第4の手段に保持
されている前記識別情報を参照して、アドレス情報を選
択することでストアアクセス要求を選択的に中断する第
5の手段と、 を有することを特徴とするベクトル処理装置。 - 【請求項2】 前記第2の手段は、連鎖状態にある演算
パイプラインに与えられるデータの枯渇を警告する信号
に応答して、前記第1の手段でカウントされるデータ数
が所定値より小さいとき前記ストアアクセス要求の停止
信号を出力することを特徴とする請求項1に記載のベク
トル処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32059392A JP3304444B2 (ja) | 1992-11-30 | 1992-11-30 | ベクトル処理装置 |
| EP93114050A EP0600165B1 (en) | 1992-11-30 | 1993-09-02 | Vector processing device |
| DE69323477T DE69323477T2 (de) | 1992-11-30 | 1993-09-02 | Vektorprozessor |
| US08/617,148 US5598574A (en) | 1992-11-30 | 1996-03-18 | Vector processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32059392A JP3304444B2 (ja) | 1992-11-30 | 1992-11-30 | ベクトル処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06168264A JPH06168264A (ja) | 1994-06-14 |
| JP3304444B2 true JP3304444B2 (ja) | 2002-07-22 |
Family
ID=18123150
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32059392A Expired - Fee Related JP3304444B2 (ja) | 1992-11-30 | 1992-11-30 | ベクトル処理装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5598574A (ja) |
| EP (1) | EP0600165B1 (ja) |
| JP (1) | JP3304444B2 (ja) |
| DE (1) | DE69323477T2 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5881302A (en) * | 1994-05-31 | 1999-03-09 | Nec Corporation | Vector processing unit with reconfigurable data buffer |
| US5689653A (en) * | 1995-02-06 | 1997-11-18 | Hewlett-Packard Company | Vector memory operations |
| WO1998028695A1 (en) | 1996-12-19 | 1998-07-02 | Hyundai Electronics America | Video frame rendering engine |
| JP3739888B2 (ja) * | 1997-03-27 | 2006-01-25 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および方法 |
| US6430589B1 (en) | 1997-06-20 | 2002-08-06 | Hynix Semiconductor, Inc. | Single precision array processor |
| US5913069A (en) * | 1997-12-10 | 1999-06-15 | Cray Research, Inc. | Interleaving memory in distributed vector architecture multiprocessor system |
| US5946496A (en) * | 1997-12-10 | 1999-08-31 | Cray Research, Inc. | Distributed vector architecture |
| US6167500A (en) * | 1998-08-10 | 2000-12-26 | International Business Machines Corp. | Mechanism for queuing store data and method therefor |
| US6665749B1 (en) * | 1999-08-17 | 2003-12-16 | Nec Electronics, Inc. | Bus protocol for efficiently transferring vector data |
| US8938642B2 (en) * | 2008-08-15 | 2015-01-20 | Apple Inc. | Confirm instruction for processing vectors |
| US8862932B2 (en) * | 2008-08-15 | 2014-10-14 | Apple Inc. | Read XF instruction for processing vectors |
| US8271832B2 (en) * | 2008-08-15 | 2012-09-18 | Apple Inc. | Non-faulting and first-faulting instructions for processing vectors |
| US9009528B2 (en) * | 2008-08-15 | 2015-04-14 | Apple Inc. | Scalar readXF instruction for processing vectors |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5725069A (en) * | 1980-07-21 | 1982-02-09 | Hitachi Ltd | Vector data processing equipment |
| JPH0766329B2 (ja) * | 1985-06-14 | 1995-07-19 | 株式会社日立製作所 | 情報処理装置 |
| US4873630A (en) * | 1985-07-31 | 1989-10-10 | Unisys Corporation | Scientific processor to support a host processor referencing common memory |
| US4789925A (en) * | 1985-07-31 | 1988-12-06 | Unisys Corporation | Vector data logical usage conflict detection |
| JPS62120574A (ja) * | 1985-11-20 | 1987-06-01 | Fujitsu Ltd | ベクトル処理装置 |
| JPH0731669B2 (ja) * | 1986-04-04 | 1995-04-10 | 株式会社日立製作所 | ベクトル・プロセツサ |
| US4974198A (en) * | 1986-07-16 | 1990-11-27 | Nec Corporation | Vector processing system utilizing firm ware control to prevent delays during processing operations |
| US4722046A (en) * | 1986-08-27 | 1988-01-26 | Amdahl Corporation | Cache storage priority |
| JP2760790B2 (ja) * | 1986-10-09 | 1998-06-04 | 株式会社日立製作所 | データ処理装置 |
| US5010477A (en) * | 1986-10-17 | 1991-04-23 | Hitachi, Ltd. | Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations |
| US4839801A (en) * | 1986-11-03 | 1989-06-13 | Saxpy Computer Corporation | Architecture for block processing computer system |
| JPH06103494B2 (ja) * | 1986-11-18 | 1994-12-14 | 株式会社日立製作所 | ベクトル処理装置の制御方式 |
| JP2679994B2 (ja) * | 1987-08-14 | 1997-11-19 | 株式会社日立製作所 | ベクトル処理装置 |
| US4888679A (en) * | 1988-01-11 | 1989-12-19 | Digital Equipment Corporation | Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements |
| US5179674A (en) * | 1988-07-25 | 1993-01-12 | Digital Equipment Corporation | Method and apparatus for predicting valid performance of virtual-address to physical-address translations |
| US5123095A (en) * | 1989-01-17 | 1992-06-16 | Ergo Computing, Inc. | Integrated scalar and vector processors with vector addressing by the scalar processor |
| US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
| US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
| US5193167A (en) * | 1990-06-29 | 1993-03-09 | Digital Equipment Corporation | Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system |
| WO1992009968A1 (en) * | 1990-11-27 | 1992-06-11 | Cray Research, Inc. | VECTOR WORD SHIFT BY Vo SHIFT COUNT IN VECTOR SUPERCOMPUTER PROCESSOR |
| US5261063A (en) * | 1990-12-07 | 1993-11-09 | Ibm Corp. | Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs |
| JP2665111B2 (ja) * | 1992-06-18 | 1997-10-22 | 日本電気株式会社 | ベクトル処理装置 |
-
1992
- 1992-11-30 JP JP32059392A patent/JP3304444B2/ja not_active Expired - Fee Related
-
1993
- 1993-09-02 EP EP93114050A patent/EP0600165B1/en not_active Expired - Lifetime
- 1993-09-02 DE DE69323477T patent/DE69323477T2/de not_active Expired - Fee Related
-
1996
- 1996-03-18 US US08/617,148 patent/US5598574A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US5598574A (en) | 1997-01-28 |
| JPH06168264A (ja) | 1994-06-14 |
| DE69323477D1 (de) | 1999-03-25 |
| EP0600165A1 (en) | 1994-06-08 |
| DE69323477T2 (de) | 1999-06-24 |
| EP0600165B1 (en) | 1999-02-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5742782A (en) | Processing apparatus for executing a plurality of VLIW threads in parallel | |
| US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
| US3898624A (en) | Data processing system with variable prefetch and replacement algorithms | |
| JP3733842B2 (ja) | ベクトルスキャタ命令制御回路及びベクトル型情報処理装置 | |
| KR100335785B1 (ko) | 데이타처리명령의실행 | |
| US4729094A (en) | Method and apparatus for coordinating execution of an instruction by a coprocessor | |
| US5297281A (en) | Multiple sequence processor system | |
| US20020078330A1 (en) | Computer system for executing branch instructions | |
| US8255591B2 (en) | Method and system for managing cache injection in a multiprocessor system | |
| US6959367B2 (en) | System having read-modify-write unit | |
| JP3304444B2 (ja) | ベクトル処理装置 | |
| US4731736A (en) | Method and apparatus for coordinating execution of an instruction by a selected coprocessor | |
| US4750110A (en) | Method and apparatus for executing an instruction contingent upon a condition present in another data processor | |
| US6725365B1 (en) | Branching in a computer system | |
| US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
| US4821231A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| US4914578A (en) | Method and apparatus for interrupting a coprocessor | |
| US5574924A (en) | Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions | |
| US5276853A (en) | Cache system | |
| JP3145545B2 (ja) | メモリアクセス装置 | |
| JP2004511040A (ja) | レジスタ転送オペレーション | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
| JPH06324861A (ja) | Cpu制御システム及び制御方法 | |
| JP2806690B2 (ja) | マイクロプロセッサ | |
| JPS6221130B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020416 |
|
| LAPS | Cancellation because of no payment of annual fees |