JPH07200542A - Vector processor - Google Patents

Vector processor

Info

Publication number
JPH07200542A
JPH07200542A JP33811793A JP33811793A JPH07200542A JP H07200542 A JPH07200542 A JP H07200542A JP 33811793 A JP33811793 A JP 33811793A JP 33811793 A JP33811793 A JP 33811793A JP H07200542 A JPH07200542 A JP H07200542A
Authority
JP
Japan
Prior art keywords
pipeline
unit
vector
arithmetic
pipelines
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
JP33811793A
Other languages
Japanese (ja)
Inventor
Shoji Nakatani
彰二 中谷
Takashi Mochiyama
貴司 持山
Koji Kuroda
浩二 黒田
Katsuhiko Konno
勝彦 今野
Hiroaki Atsumi
宏昭 渥美
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 JP33811793A priority Critical patent/JPH07200542A/en
Publication of JPH07200542A publication Critical patent/JPH07200542A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE:To improve the performance of a vector processor which successively calculate a series of data stored in a main storage device after supplying them to an arithmetic pipeline by performing the arithmetic processing without deteriorating the overall computing efficiency for the arithmetic pipeline of small throughput and by separating the converging period of a vector macroinstruction from the outrun prevention control in regard of the sum total, the retrieval, etc. CONSTITUTION:If a pipeline that has small throughput compared with other pipelines is detected, a bank management part prescribes the access timing to a vector register of the pipeline. Under such conditions, the pipeline of small throughput uses the timing (SR) set for a memory access pipeline as the access timing (DR1/DR2/DW3) set to the vector register. In addition, a changing part is added on a transmission line of an outrun prevention signal. Thus the outrun prevention signal is variable by a notification signal which notifies a converging period of the relevant instruction.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】(目次) 産業上の利用分野 従来の技術(図19) 発明が解決しようとする課題(図19) 課題を解決するための手段(図1,図2) 作用 実施例 (a)第1実施例の説明(図3〜図7) (b)第2実施例の説明(図8〜図18) 発明の効果(Table of Contents) Industrial Application Field of the Prior Art (FIG. 19) Problem to be Solved by the Invention (FIG. 19) Means for Solving the Problem (FIGS. 1 and 2) Action Example (a) Description of the first embodiment (FIGS. 3 to 7) (b) Description of the second embodiment (FIGS. 8 to 18)

【0002】[0002]

【産業上の利用分野】本発明は、主記憶装置に格納され
ている一連のデータを順次演算パイプラインに入力して
演算するベクトル処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector processing device for sequentially inputting a series of data stored in a main storage device to a calculation pipeline for calculation.

【0003】[0003]

【従来の技術】一般に、ベクトル処理装置においては、
例えば、ベクトルBに属するエレメント・データb0,b
1,…および/またはベクトルCに属するエレメント・デ
ータc 0,c1,…をパイプライン処理によって演算し、そ
の結果得られたa0,a1,…をベクトルAに属するエレメ
ント・データとして抽出することが行なわれる。この場
合、主記憶装置から置換ロードして演算パイプラインに
入力したり、演算パイプラインから主記憶装置に置換ス
トアしたりすることは、主記憶装置のアクセス速度に制
限され、処理速度が遅くなってしまう。
2. Description of the Related Art Generally, in a vector processing device,
For example, the element data b belonging to the vector B0, b
1, ... and / or the element data belonging to the vector C
Data c 0, c1, ... are calculated by pipeline processing and
A obtained as a result of0, a1, ... belong to vector A
Extraction as input data. This place
In case of replacement, it is replaced and loaded from the main memory to the operation pipeline.
Input or replace from arithmetic pipeline to main memory
The access speed of the main memory is restricted
The processing speed is slowed down.

【0004】このため、通常、主記憶装置と演算パイプ
ラインとの間に、複数個のバンク単位により構成されイ
ンターリーブ構造をもつベクトル・レジスタをそなえる
ことが行なわれている。このベクトル・レジスタは、1
つのベクトル・レジスタに属するエレメント・データの
例えば第i番目のデータと第(i+1)番目のデータと
が互いに異なるバンク単位に格納されるように構成さ
れ、各バンク単位の読出出力が互いに異なるパスを介し
て演算パイプラインに供給されるように構成されるとと
もに、演算パイプラインから得られた演算結果を互いに
異なるパスを介して各バンク単位に書き込むように構成
されている。
For this reason, it is common practice to provide a vector register having a unit of a plurality of banks and having an interleave structure between the main memory device and the arithmetic pipeline. This vector register is 1
For example, the i-th data and the (i + 1) -th data of the element data belonging to one vector register are configured to be stored in different bank units, and the read output of each bank unit is different from each other. In addition to being configured to be supplied to the operation pipeline via the operation pipeline, the operation result obtained from the operation pipeline is written to each bank unit via different paths.

【0005】この演算パイプラインが複数ある場合、演
算パイプラインからの要請によってベクトル・レジスタ
へ同時に並列的にアクセスすることが可能な数は、例え
ば8バンク単位にインターリーブされているとすれば、
8個まで可能である。従って、各演算パイプラインから
ベクトル・レジスタへのアクセスにおいて、同時に同一
のバンク単位にアクセスしないように、また、各バンク
単位ないし各演算パイプラインが効率よく動作するよう
に、ベクトル・レジスタへのアクセス・タイミングを管
理することが極めて重要となる。
When there are a plurality of arithmetic pipelines, the number of simultaneously accessible parallel vector registers in response to a request from the arithmetic pipeline is interleaved in units of, for example, 8 banks.
Up to 8 are possible. Therefore, in accessing the vector register from each operation pipeline, access to the vector register is prevented so that the same bank unit is not accessed at the same time, and each bank unit or each operation pipeline operates efficiently.・ It is extremely important to manage the timing.

【0006】ベクトル・レジスタへの各エレメント・デ
ータの格納に際し、例えば上述のエレメント・データb
0,b1,…,c0,c1,…については同じエレメント番号の
データが演算される関係から、同じタイミングで読出を
行なうと好都合であるため、可能な限り異なったバンク
単位に位置するように格納されている。従って、ベクト
ル・レジスタへアクセスするためのハードウェアでは、
各エレメント・データの最初の格納アドレス(例えば第
0番目のエレメントに対するバンク情報)について記憶
する手段が必要であるとともに、同時に同一のバンク単
位へアクセスしないような作用が必要となり、アクセス
制御のためのハードウェアが複雑になってしまう。
When storing each element data in the vector register, for example, the above-mentioned element data b
0 , b 1 , ..., C 0 , c 1 , ... Are conveniently located in different bank units as much as possible because it is convenient to read at the same timing because the data of the same element number is calculated. Is stored as. So in the hardware to access the vector register,
A means for storing the first storage address of each element data (for example, bank information for the 0th element) is required, and an operation for not accessing the same bank unit at the same time is required. The hardware becomes complicated.

【0007】そこで、従来より、インターリーブされた
複数のバンク単位に複数のエレメント・データを記憶す
るベクトル・レジスタと、このベクトルレジスタの各エ
レメント・データをアクセスする演算パイプラインおよ
びメモリ・アクセス・パイプラインと、これらのパイプ
ラインが各バンク単位をアクセスできるタイミングを示
すバンクスロットを管理するバンク管理部とを有するベ
クトル処理装置において、各パイプラインを起動する時
点で、バンク管理部からバンクスロット信号を送出する
ことにより、各パイプラインのアクセスタイミングを規
定することが行なわれている(例えば特開昭57−31
079号公報参照)。
Therefore, conventionally, a vector register for storing a plurality of element data in a unit of a plurality of interleaved banks, and an arithmetic pipeline and a memory access pipeline for accessing each element data of the vector register. In a vector processing device having a bank management unit that manages a bank slot indicating the timing at which these pipelines can access each bank unit, a bank slot signal is sent from the bank management unit at the time of activating each pipeline. By doing so, the access timing of each pipeline is regulated (for example, JP-A-57-31).
079).

【0008】このような従来のベクトル処理装置におけ
るバンクスロットのタイミング例について、図19を参
照しながら説明する。この図19において、B0〜B7
はそれぞれ8個のバンク単位を示し、LWは、メモリ・
アクセス・パイプラインのうちのロード・パイプライン
が主記憶装置(メモリ)からベクトル・レジスタにデー
タを書き込むタイミングを示し、SRは、メモリ・アク
セス・パイプラインのうちのストア・パイプラインがベ
クトル・レジスタから主記憶装置へ読み出すタイミング
を示す。
An example of the bank slot timing in such a conventional vector processing apparatus will be described with reference to FIG. In FIG. 19, B0 to B7
Indicates a unit of 8 banks, and LW indicates a memory
The load pipeline of the access pipeline indicates the timing of writing data from the main memory (memory) to the vector register, and SR is the store pipeline of the memory access pipeline. The timing of reading from the memory to the main memory is shown.

【0009】また、E,Fはそれぞれ例えば2種類の演
算パイプライン(乗算もしくは加算パイプライン)が動
作するバンクスロットの区別を示し、各E,Fに付され
たR,Wはそれぞれ各オペランドによるベクトル・レジ
スタから各演算パイプラインへの読出(READ),各演算パ
イプラインからベクトル・レジスタへの書込(WRITE)に
対応するものであり、R,Wに付された数字1,2,3
はそれぞれ各オペランドOP1,OP2,OP3の番号
に対応している(OP1*OP2⇒OP3;*は演算
子)。
Further, E and F indicate the distinction between bank slots in which, for example, two types of operation pipelines (multiplication or addition pipelines) operate, and R and W attached to each E and F depend on each operand. It corresponds to reading from the vector register to each operation pipeline (READ) and writing from each operation pipeline to the vector register (WRITE), and the numbers 1, 2, and 3 attached to R and W.
Respectively correspond to the numbers of the operands OP1, OP2, OP3 (OP1 * OP2⇒OP3; * is an operator).

【0010】さらに、(0)〜(7)はカウント値を示
している。この図19に示すように、従来、演算パイプ
ラインのように固定パイプライン長として割り当てるバ
ンクスロットには、ER1,ER2,EW3が割り当て
られ、メモリ・アクセス・パイプラインのようにパイプ
ライン長が不定のパイプラインには、LWまたはSRが
割り当てられている。
Further, (0) to (7) indicate count values. As shown in FIG. 19, ER1, ER2, and EW3 are conventionally assigned to bank slots that are conventionally assigned as fixed pipeline lengths like arithmetic pipelines, and pipeline lengths are undefined like memory access pipelines. LW or SR is assigned to the pipeline.

【0011】一方、ベクトル処理装置では、処理を高速
化するために、1つの命令の実行完了を待たずに後続の
命令の実行を開始するが、処理スループットの異なるパ
イプライン間で結果オペランドと入力オペランドとに依
存関係がある場合には、追越し防止制御を行なう必要が
ある。複数のパイプライン間のデータリンクの状況を正
確に確認して適切な追越し防止制御を行なうには、物量
的なインパクトが大きく、遅延時間も大きくなるので、
現実的ではない。
On the other hand, in the vector processing device, in order to speed up the processing, execution of the subsequent instruction is started without waiting for the completion of the execution of one instruction, but the result operand and the input are input between pipelines having different processing throughputs. If there is a dependency relationship with the operand, it is necessary to perform overtaking prevention control. To accurately check the status of data links between multiple pipelines and perform appropriate overtaking prevention control, the physical impact will be large and the delay time will be large.
Not realistic.

【0012】そのため、適切さは欠くが簡便な手法が従
来より使用されている。その1つが、少なくとも1つの
演算パイプラインがリンク状態にあるときには、追越し
禁止制御を行なう際に、対象とする演算パイプラインの
みでなく、全演算パイプラインに対して追越し禁止制御
を適用するという手法である。つまり、従来の追越し制
御防止部は、ロード命令が他のパイプラインとリンク動
作(チェイニングともいう)を開始するという情報を命
令発信/管理部から受け取ると、そのロード命令が完了
するまで、追越し防止制御を活性化する。追越し防止制
御部は、リンク動作しているロード・パイプラインが、
メモリ・バス・コンフリクト等の要因で、所定のスルー
プットを下回るおそれがあることを検出すると、追越し
防止制御信号を立ち上げることにより、演算パイプライ
ン,ストア・パイプラインの実行を中断させる。
Therefore, a simple method, which lacks appropriateness, has been used conventionally. One of them is a method of applying overtaking prohibition control not only to the target arithmetic pipeline but also to all arithmetic pipelines when performing the overtaking prohibition control when at least one arithmetic pipeline is in the link state. Is. In other words, the conventional overtaking control prevention unit receives the information that the load instruction starts the link operation (also called chaining) from another pipeline from the instruction transmitting / managing unit, and the overtaking control is completed until the load instruction is completed. Activate preventive control. The overtaking prevention control unit is
When it is detected that the throughput may fall below a predetermined throughput due to a memory bus conflict or the like, the execution of the arithmetic pipeline and the store pipeline is suspended by raising the overtaking prevention control signal.

【0013】[0013]

【発明が解決しようとする課題】ところで、図19に示
すようにバンクスロットのタイミングを設定する場合、
固定長パイプラインの中でも、乗算パイプラインや加算
パイプラインは、各サイクル、演算結果を得ることが可
能であるが、割算パイプラインのように各サイクル毎に
数ビットの結果しか得られないものもある(乗算/加算
時に比べ、1/3以下のパイプラインで、例えば1/7
のスループット)。
By the way, when setting the timing of the bank slot as shown in FIG.
Among fixed length pipelines, the multiplication pipeline and the addition pipeline can obtain the operation result in each cycle, but like the division pipeline, only a few bits of result can be obtained in each cycle. There is also a pipeline (1/3 or less compared to the case of multiplication / addition, for example, 1/7
Throughput).

【0014】このようなスループットの少ない演算パイ
プライン、つまり読出あるいは書込に要するバンクの使
用時間が少ない演算パイプラインが、バンクスロット
(ER1,ER2,EW3,FR1,FR2,FW3)
を占有することは、全体の演算効率を落とし、ベクトル
処理装置全体のスループットの低下を招くという課題が
あった。
Such an arithmetic pipeline with a low throughput, that is, an arithmetic pipeline with a small bank usage time required for reading or writing, is a bank slot (ER1, ER2, EW3, FR1, FR2, FW3).
Occupancy of the vector reduces the overall calculation efficiency and lowers the throughput of the entire vector processing device.

【0015】また、従来の追越し防止制御方式では、他
のパイプラインの動作フェイズには関与しないため、過
剰にパイプラインを止めてしまうことがある。例えば、
総和命令,検索命令,抽出命令のように最終的に1つの
結果を求める演算では、演算途中で発生する中間的な結
果をまとめ上げるための収束期間が存在するが、このよ
うな収束期間は、原理的に前述のリンク動作とは独立に
動作することが可能であるにもかかわらず、従来の追越
し防止制御では、その追越し防止制御信号による処理停
止のために収束処理までも停止してしまい、処理速度の
低下を招くなどの課題もあった。
Further, in the conventional overtaking prevention control system, the pipeline may be excessively stopped because it does not participate in the operation phase of other pipelines. For example,
In an operation that finally obtains one result, such as a summation instruction, a search instruction, and an extraction instruction, there is a convergence period for collecting intermediate results that occur in the middle of the operation, but such a convergence period is Although it is possible in principle to operate independently of the above-mentioned link operation, in the conventional overtaking prevention control, even the convergence processing is stopped due to the processing stop by the overtaking prevention control signal, There were also problems such as a decrease in processing speed.

【0016】本発明はこのような課題に鑑み創案された
もので、本発明の第1の目的は、スループットの少ない
演算パイプラインについて、全体の演算効率を落とすこ
となく演算処理を行なえるようにして、演算スループッ
トの向上をはかったベクトル処理装置を提供することで
ある。また、本発明の第2の目的は、演算パイプライン
が総和,検索等のベクトルマクロ命令の収束処理のシー
ケンス実行中である場合には、追越し防止制御を行なわ
ないように制御することにより、処理速度の改善をはか
ったベクトル処理装置を提供することである。
The present invention has been made in view of the above problems, and a first object of the present invention is to enable an arithmetic pipeline having a low throughput to perform arithmetic processing without lowering the overall arithmetic efficiency. Thus, it is an object of the present invention to provide a vector processing device aiming to improve the calculation throughput. A second object of the present invention is to perform processing by controlling not to perform overtaking prevention control when the operation pipeline is executing a sequence of convergence processing of vector macro instructions such as summation and search. It is an object of the present invention to provide a vector processing device with an improved speed.

【0017】[0017]

【課題を解決するための手段】図1は第1の発明の原理
説明図である。第1の発明のベクトル処理装置も、基本
的には従来のベクトル処理装置と同様に、インターリー
ブされた複数のバンク単位に複数のエレメント・データ
を記憶するベクトル・レジスタと、このベクトル・レジ
スタの各エレメント・データをアクセスする複数の演算
パイプラインおよび1つまたは複数のメモリ・アクセス
・パイプラインと、これらのパイプラインが各バンク単
位をアクセスできるタイミングを示すバンクスロットを
管理するバンク管理部とから構成され、演算パイプライ
ンおよびメモリ・アクセス・パイプラインがベクトル・
レジスタの各バンク単位を順次アクセスして各エレメン
ト・データが処理されるようになっている。
FIG. 1 illustrates the principle of the first invention. The vector processing device of the first invention is also basically the same as the conventional vector processing device, and a vector register for storing a plurality of element data in units of a plurality of interleaved banks, and each of the vector registers. Comprised of a plurality of operation pipelines for accessing element data and one or more memory access pipelines, and a bank management unit for managing bank slots indicating timings at which these pipelines can access each bank unit And the arithmetic and memory access pipelines
Each bank of registers is sequentially accessed to process each element data.

【0018】そして、第1の発明では、複数の演算パイ
プラインの中に、他の演算パイプラインに比べて演算ス
ループットの低い演算パイプラインを少なくとも1つ有
する場合、図1に示すように、バンク管理部により、複
数の演算パイプラインのうちの演算スループットの低い
演算パイプラインがベクトル・レジスタをアクセスする
タイミング(DR1,DR2,DW3)は、メモリ・ア
クセス・パイプラインとして割り付けられたタイミン
グ、特にメモリ・アクセス・パイプラインのうちのスト
ア・パイプラインがベクトル・レジスタから主記憶部へ
ストア動作する読み出しタイミング(SR)のバンクス
ロットに対して割り当てられている(請求項1,2)。
なお、図1中の各符号は、図19により前述したものと
同様であるが、Dは、演算スループットの低い演算パイ
プラインが動作するバンクスロットの区別を示してい
る。
In the first invention, when at least one operation pipeline having a lower operation throughput than other operation pipelines is provided in the plurality of operation pipelines, as shown in FIG. The timing (DR1, DR2, DW3) at which the management unit accesses the vector register by the operation pipeline having a low operation throughput among the plurality of operation pipelines is the timing assigned as the memory access pipeline, especially the memory. The store pipeline of the access pipelines is assigned to the bank slot of the read timing (SR) at which the store operation is performed from the vector register to the main memory (claims 1 and 2).
Note that each reference numeral in FIG. 1 is the same as that described above with reference to FIG. 19, but D indicates the distinction of bank slots in which the operation pipeline with low operation throughput operates.

【0019】また、図2は第2の発明の原理ブロック図
で、この図2において、21はインターリーブされた複
数のバンク単位に複数のエレメント・データを記憶する
ベクトル・レジスタ、22はベクトル・レジスタ21上
のデータを入力オペランドとするかもしくは演算結果を
ベクトル・レジスタ21に書き込む1つまたは複数の演
算パイプライン、23は主記憶部24からベクトル・レ
ジスタ21へデータを転送する1つまたは複数のロード
・パイプラインである。
FIG. 2 is a block diagram of the principle of the second invention. In FIG. 2, 21 is a vector register for storing a plurality of element data in a plurality of interleaved banks, and 22 is a vector register. One or a plurality of operation pipelines that use the data on 21 as an input operand or write an operation result to the vector register 21, and 23 is one or more that transfers data from the main memory 24 to the vector register 21. It is a load pipeline.

【0020】また、25は追越し防止制御部で、この追
越し防止制御部25は、ロード・パイプライン23から
ベクトル・レジスタ21へデータを転送する命令の実行
中に、ロード・パイプライン23がベクトル・レジスタ
21に書き込んだデータを入力オペランドとする後続の
演算命令を演算パイプライン22が実行する場合、命令
の実行順序を保証するために、ロード・パイプライン2
3の実行を後続の演算パイプライン22の処理が追い越
す条件を検出した時に、全ての演算パイプライン22の
実行を一時中断するものである。
Further, reference numeral 25 denotes an overtaking prevention control unit, and the overtaking prevention control unit 25 is used by the load pipeline 23 during execution of an instruction for transferring data from the load pipeline 23 to the vector register 21. When the operation pipeline 22 executes a subsequent operation instruction that uses the data written in the register 21 as an input operand, the load pipeline 2 is used to guarantee the execution order of the instructions.
When the condition of the processing of the subsequent arithmetic pipeline 22 overtaking the execution of No. 3 is detected, the execution of all the arithmetic pipelines 22 is suspended.

【0021】そして、第2の発明では、変更部26が新
たにそなえられている。この変更部26は、ベクトル・
レジスタ21からのデータ供給を受けるリード処理期間
と、リード処理期間後に結果をまとめ上げる収束期間と
を必要とするベクトル命令については、該当ベクトル命
令の収束処理を実行中の演算パイプライン22に対する
追越し防止制御を行なわないように、追越し防止制御部
25から出力される追越し防止制御信号を変更するもの
である(請求項3)。
In the second aspect of the invention, the changing unit 26 is newly provided. This changing unit 26 is a vector
For a vector instruction that requires a read processing period in which data is supplied from the register 21 and a convergence period in which the results are collected after the read processing period, overtaking prevention for the operation pipeline 22 that is executing the convergence processing of the corresponding vector instruction The overtaking prevention control signal output from the overtaking prevention control unit 25 is changed so as not to perform control (claim 3).

【0022】なお、この変更部26は、演算パイプライ
ン22にそなえてもよい(請求項4)。また、該当ベク
トル命令の収束処理を実行中の演算パイプライン22
が、基本演算器と収束を処理する付加演算器とを有する
構成のもので、収束処理を該付加演算器により実行し、
収束処理中、基本演算器により後続の他の演算命令を実
行できるものである場合には、収束処理中、変更部26
が、付加演算器に対してのみ追越し防止制御を行なわな
いように、追越し防止制御信号を変更してもよい(請求
項5)。
The changing unit 26 may be provided in the arithmetic pipeline 22 (claim 4). In addition, the operation pipeline 22 that is executing the convergence processing of the corresponding vector instruction
Is a configuration having a basic arithmetic unit and an additional arithmetic unit for processing convergence, and the convergence processing is executed by the additional arithmetic unit,
During the convergence process, if it is possible to execute another subsequent arithmetic instruction by the basic arithmetic unit, the changing unit 26 during the convergence process.
However, the overtaking prevention control signal may be changed so that the overtaking prevention control is not performed only on the additional arithmetic unit (claim 5).

【0023】[0023]

【作用】上述した第1の発明のベクトル処理装置(請求
項1,2)では、演算パイプラインのように固定長のパ
イプラインにおいても、特にスループットの少ないパイ
プラインを、メモリ・アクセス・パイプラインのような
1つのバンクスロットしか使用しないパイプラインと共
用することにより、演算パイプラインをオーバラップさ
せて実行している。
In the vector processing device according to the first aspect of the present invention (claims 1 and 2), even in a fixed length pipeline such as an arithmetic pipeline, a pipeline with a particularly low throughput is used as a memory access pipeline. By sharing with a pipeline that uses only one bank slot, the arithmetic pipelines are overlapped and executed.

【0024】また、上述した第2の発明のベクトル処理
装置(請求項3)では、追越し防止制御部25から追越
し防止制御信号が出力された際に、演算パイプライン2
2が収束処理のシーケンスを実行中で、収束期間条件が
成立している間は、変更部26により追越し防止制御部
25からの追越し防止制御信号が変更され、収束処理中
の演算パイプライン22に対する追越し防止制御が禁止
される。
In the vector processing device of the second aspect of the present invention (claim 3), when the overtaking prevention control signal is output from the overtaking prevention control section 25, the arithmetic pipeline 2
2 is executing the sequence of the convergence process and while the condition of the convergence period is satisfied, the changing unit 26 changes the overtaking prevention control signal from the overtaking prevention control unit 25, and the operation pipeline 22 in the convergence process is changed. Overtaking prevention control is prohibited.

【0025】なお、この変更部26を演算パイプライン
22にそなえた場合には、収束処理を実行中の演算パイ
プラインが、追越し防止制御部25からの追越し防止制
御のための信号を無視する形で、演算パイプライン22
に対する追越し防止制御部25による追越し防止制御が
禁止される(請求項4)。また、収束処理中の演算パイ
プライン22が基本演算器と収束処理用の付加演算器と
をもつものである場合には、変更部26により追越し防
止制御部25からの追越し防止制御信号を変更すること
で、付加演算器に対してのみ追越し防止制御が禁止され
る(請求項5)。
When the changing unit 26 is provided in the arithmetic pipeline 22, the arithmetic pipeline executing the convergence process ignores the signal for the overtaking prevention control from the overtaking prevention control unit 25. Then, the arithmetic pipeline 22
The overtaking prevention control by the overtaking prevention control unit 25 is prohibited (claim 4). If the arithmetic pipeline 22 in the convergence process has a basic arithmetic unit and an additional arithmetic unit for the convergence process, the changing unit 26 changes the overtaking prevention control signal from the overtaking prevention control unit 25. As a result, the overtaking prevention control is prohibited only for the additional arithmetic unit (claim 5).

【0026】[0026]

【実施例】以下、図面を参照して本発明の実施例を説明
する。 (a)第1実施例の説明 図3は本発明の第1実施例としてのベクトル処理装置を
示すブロック図で、この図3において、1−0,1−
1,…,1−nはそれぞれベクトル・レジスタで、各ベ
クトル・レジスタ1−0,1−1,…,1−nは、それ
ぞれ、インターリーブされたバンク単位B0,B1,
…,B7(本実施例では8バンク単位の場合を示す)に
複数のエレメント・データを記憶するものである。
Embodiments of the present invention will be described below with reference to the drawings. (A) Description of First Embodiment FIG. 3 is a block diagram showing a vector processing apparatus as a first embodiment of the present invention. In FIG. 3, 1-0, 1-
1, ..., 1-n are vector registers, and the vector registers 1-0, 1-1, ..., 1-n are interleaved bank units B0, B1, respectively.
, B7 (in this embodiment, a case of 8 banks is shown) stores a plurality of element data.

【0027】2は主記憶部20とベクトル・レジスタ1
−0,1−1,…,1−nとの間において各エレメント
・データを高速にロードないしストアすべくパイプライ
ン構成されたメモリ・アクセス・パイプラインで、ロー
ド・パイプライン2Aおよびストア・パイプライン2B
を有している。ここで、ロード・パイプライン2Aは、
主記憶部20からのエレメント・データをベクトル・レ
ジスタ1−0,1−1,…,1−nへロードするための
ものであり、ストア・パイプライン2Bは、ベクトル・
レジスタ1−0,1−1,…,1−nに格納されたエレ
メント・データを主記憶部20へストアするためのもの
である。
2 is a main memory 20 and a vector register 1
-0, 1-1, ..., 1-n is a memory access pipeline configured to load or store each element data at high speed, and a load pipeline 2A and a store pipe. Line 2B
have. Here, the load pipeline 2A is
The element data from the main memory 20 is loaded into the vector registers 1-0, 1-1, ..., 1-n, and the store pipeline 2B is a vector register.
This is for storing the element data stored in the registers 1-0, 1-1, ..., 1-n in the main storage unit 20.

【0028】3Aはメモリ・アクセス・パイプライン2
のロード・パイプライン2Aからのエレメント・データ
をベクトル・レジスタ1−0,1−1,…,1−nにお
ける各バンク単位B0〜B7に書き込むための書込レジ
スタ、3B−0,3B−1,…,3B−mはそれぞれ後
述する演算パイプライン5−0,5−1,…,5−mか
らのエレメント・データ(演算結果)をベクトル・レジ
スタ1−0,1−1,…,1−nにおける各バンク単位
B0〜B7に書き込むための書込レジスタである。
3A is a memory access pipeline 2
Write register 3B-0, 3B-1 for writing the element data from the load pipeline 2A in the vector registers 1-0, 1-1, ..., 1-n in each bank unit B0-B7. , 3B-m respectively receives element data (operation result) from operation pipelines 5-0, 5-1, ..., 5-m, which will be described later, in vector registers 1-0, 1-1 ,. It is a write register for writing in each bank unit B0 to B7 in -n.

【0029】4Aはベクトル・レジスタ1−0,1−
1,…,1−nに格納されたエレメント・データをメモ
リ・アクセス・パイプライン2のストア・パイプライン
2Bへ読み出すための読出レジスタである。また、4B
−0,4C−0;4B−1,4C−1;…;4B−m,
4C−mはそれぞれ後述する演算パイプライン5−0,
5−1,…,5−m毎にそなえられた一対の読出レジス
タで、各対の読出レジスタ4B−0,4C−0;4B−
1,4C−1;…;4B−m,4C−mは、それぞれ、
演算対象となる一対のエレメント・データを演算パイプ
ライン5−0,5−1,…,5−mに入力すべく、その
一対のエレメント・データをベクトル・レジスタ1−
0,1−1,…,1−nにおける各バンク単位B0〜B
7から読み出すためのものである。
4A is a vector register 1-0, 1-
A read register for reading the element data stored in 1, ..., 1-n to the store pipeline 2B of the memory access pipeline 2. Also, 4B
-0,4C-0; 4B-1, 4C-1; ...; 4B-m,
4C-m is an operation pipeline 5-0, which will be described later,
A pair of read registers provided for every 5-1, ..., 5-m. Each pair of read registers 4B-0, 4C-0; 4B-
, 4C-1; 4B-m and 4C-m are respectively
In order to input a pair of element data to be operated to the operation pipelines 5-0, 5-1, ..., 5-m, the pair of element data is input to the vector register 1-.
Bank units B0 to B in 0, 1-1, ..., 1-n
It is for reading from 7.

【0030】5−0,5−1,…,5−mは演算パイプ
ラインで、これらの演算パイプライン5−0,5−1,
…,5−mは、それぞれ、一対の読出レジスタ4B−
0,4C−0;4B−1,4C−1;…;4B−m,4
C−mを介して入力されたエレメント・データに対して
四則演算等の演算処理を施し、その演算結果(エレメン
ト・データ)を出力するものである。
5-0, 5-1, ..., 5-m are operation pipelines, and these operation pipelines 5-0, 5-1,
, -M are a pair of read registers 4B-, respectively.
0,4C-0; 4B-1, 4C-1; ...; 4B-m, 4
The element data input via C-m is subjected to arithmetic processing such as four arithmetic operations, and the arithmetic result (element data) is output.

【0031】そして、6は各種のベクトル演算命令を出
力する命令制御部、7は命令制御部6からの命令を受け
て動作するバンク管理部で、このバンク管理部7は、メ
モリ・アクセス・パイプライン2および演算パイプライ
ン5−0,5−1,…,5−mがベクトル・レジスタ1
−0,1−1,…,1−nにおける各バンク単位B0〜
B7をアクセスできるタイミングを示すバンクスロット
を管理するもので、各バンク単位B0〜B7へのアクセ
ス・タイミングを規制するバンクスロット・カウンタ7
aを有している。
Further, 6 is an instruction control section for outputting various vector operation instructions, 7 is a bank management section which operates in response to an instruction from the instruction control section 6, and the bank management section 7 is a memory access pipe. Line 2 and operation pipelines 5-0, 5-1, ..., 5-m are vector registers 1
Bank units B0 to 0, 1-1, ..., 1-n
A bank slot counter 7 that manages a bank slot that indicates the timing at which B7 can be accessed, and that regulates the access timing to each bank unit B0 to B7
a.

【0032】次に、上述のようなベクトル処理装置の一
般的な動作について説明する。図3に示す本実施例のベ
クトル処理装置では、各ベクトル・レジスタ1−0,1
−1,…,1−nは、各バンク単位B0〜B7にそれぞ
れ分散するように対応付けられている。そして、各ベク
トル・レジスタ1−0,1−1,…,1−nに格納され
るエレメント・データは、第0番目のデータがバンク単
位B0に記憶され、第1番目のデータがバンク単位B1
に記憶され、第7番目のデータがバンク単位B7に記憶
されるというように各バンク単位に順次記憶され、いわ
ゆるインターリーブした形に格納され、同じナンバのデ
ータが同じバンク単位に位置するように格納される。
Next, the general operation of the above vector processing device will be described. In the vector processing device of the present embodiment shown in FIG. 3, each vector register 1-0, 1
-1, ..., 1-n are associated so as to be dispersed in the bank units B0 to B7, respectively. As for the element data stored in each of the vector registers 1-0, 1-1, ..., 1-n, the 0th data is stored in the bank unit B0 and the 1st data is stored in the bank unit B1.
The 7th data is sequentially stored in each bank unit such that the 7th data is stored in the bank unit B7 and stored in the so-called interleaved form, and the data of the same number is stored in the same bank unit. To be done.

【0033】例えば、ベクトルBに属するエレメント・
データb0,b1,…が主記憶部20からロードされてベク
トル・レジスタ1−1内に格納されているものとし、ま
たベクトルCに属するエレメント・データc0,c1,…が
同様にベクトル・レジスタ1−2に格納されているもの
とする。この状態で、例えば、命令制御部6からバンク
管理部7に対して、ベクトル加算命令「OP1〔#1V
R(i)〕+OP2〔#2VR(i)〕⇒OP3〔#0
VR(i)〕」が与えられたとすると、バンク管理部7
により、次のごとく〜の処理(図4参照)が実行さ
れる。なお、本実施例では、演算パイプライン(加算パ
イプライン)5−0が3段のステップ段数をもつものと
する(図4参照)。
For example, the elements belonging to the vector B
The data b 0 , b 1 , ... Are assumed to be loaded from the main memory 20 and stored in the vector register 1-1, and the element data c 0 , c 1 , ... It is assumed to be stored in the vector register 1-2. In this state, for example, from the instruction control unit 6 to the bank management unit 7, the vector addition instruction “OP1 [# 1V
R (i)] + OP2 [# 2VR (i)] ⇒OP3 [# 0
VR (i)] "is given, the bank management unit 7
As a result, the following processes (see FIG. 4) are executed. In this embodiment, the operation pipeline (addition pipeline) 5-0 has three step stages (see FIG. 4).

【0034】ここで、#0VR(i),#1VR
(i),#2VR(i)はそれぞれベクトル・レジスタ
1−0,1−1,1−2の各バンク単位Biに格納され
るデータを意味し、上記ベクトル加算命令は、ベクトル
・レジスタ1−1に格納された各エレメント・データ
と、ベクトル・レジスタ1−2に格納された各エレメン
ト・データとを加算し、その加算結果(エレメント・デ
ータ)をベクトル・レジスタ1−0に格納する命令とな
っている。
Here, # 0VR (i), # 1VR
(I) and # 2VR (i) mean the data stored in each bank unit Bi of the vector registers 1-0, 1-1, 1-2, and the vector addition instruction is the vector register 1- An instruction for adding each element data stored in 1 and each element data stored in the vector register 1-2 and storing the addition result (element data) in the vector register 1-0; Has become.

【0035】タイミング・サイクル(バンクスロット
・カウンタ7aによりカウントされるカウント値に対応
するもの)T0,T1,…において、バンク単位B0,
B1,…,B7,…に対して、順次、リード・アクセス
が行なわれ、その結果、読出レジスタ4B−0,4C−
0を介して、エレメント・データb0,b1,…およびc 0,
1,…が、順次、ベクトル・レジスタ1−1,1−2か
ら読み出される。
Timing cycle (bank slot
.Corresponding to the count value counted by the counter 7a
In T0, T1, ..., bank units B0,
Read access to B1, ..., B7 ,.
Is performed, and as a result, the read registers 4B-0 and 4C-
Element data b through 00, b1, ... and c 0,
c1, ... are the vector registers 1-1 and 1-2 in sequence
Read from.

【0036】タイミング・サイクルT2において、デ
ータb0 とc0 とは演算パイプライン5−0のステップ
Iに入力される。 タイミング・サイクルT3において、データb0 とc
0 とは演算パイプライン5−0のステップIIに入力され
ると同時に、データb1 とc1 とが演算パイプライン5
−0のステップIに入力される。
In timing cycle T2, data b 0 and c 0 are input to step I of arithmetic pipeline 5-0. In timing cycle T3, data b 0 and c
0 is input to step II of the operation pipeline 5-0, and at the same time, the data b 1 and c 1 are input to the operation pipeline 5
Input to step I of -0.

【0037】タイミング・サイクルT4において、デ
ータb0 とc0 とは演算パイプライン5−0のステップ
III に入力され、データb1 とc1 とは演算パイプライ
ン5−0のステップIIに入力されると同時に、データb
2 とc2 とが演算パイプライン5−0のステップIに入
力される。 タイミング・サイクルT5において、データb0 とc
0 との加算結果であるデータa0 が書込レジスタ3B−
0にセットされる。
In the timing cycle T4, the data b 0 and c 0 are the steps of the operation pipeline 5-0.
The data b 1 and c 1 are input to step III of the operation pipeline 5-0, and at the same time,
2 and c 2 are input to step I of the operation pipeline 5-0. In timing cycle T5, data b 0 and c
The data a 0 which is the addition result with 0 is written in the write register 3B-
It is set to 0.

【0038】タイミング・サイクルT6において、こ
のデータa0 が、ベクトル・レジスタ1−0のバンク単
位B0に書き込まれる。以下、順次得られるデータa1,
2,…が書込レジスタ3B−0にセットされ、書込レジ
スタ3B−0にセットされたデータa1,a2,…は、それ
ぞれ、ベクトル・レジスタ1−0のバンク単位B1,B
2,…,B7,B0,…に順次に書き込まれる。
At timing cycle T6, this data a 0 is written to the bank unit B0 of the vector register 1-0. Hereinafter, the data a 1 ,
a 2, ... it is set in the write register 3B-0, the write register 3B-0 to the set data a 1, a 2, ..., respectively, per bank of vector registers 1-0 B1, B
2, ..., B7, B0 ,.

【0039】ここで、演算パイプライン5−0では、同
じナンバ(添字番号)のエレメント・データがステップ
Iに入力されるように、ベクトルB,Cに属するエレメ
ント・データの入力側にタイミングを合わせるためのバ
ッファ・レジスタが1段設けられている。このように構
成することによって、ベクトルB,Cに関して加算し、
その結果得られたベクトルAをバンク単位B0,B1,
…の順にアクセスすることが可能になる。
Here, in the operation pipeline 5-0, the timing is adjusted to the input side of the element data belonging to the vectors B and C so that the element data having the same number (subscript number) is input to the step I. There is provided one stage of buffer register for. With this configuration, addition is made for the vectors B and C,
The resulting vector A is assigned to bank units B0, B1,
It becomes possible to access in order.

【0040】ついで、前記の各バンク単位B0〜B7へ
のアクセス制御を簡略化すべく、そのアクセス制御を行
なうバンク管理部7について、図5,図6を参照しなが
ら説明する。図5において、11−1,11−2,11
−3はメモリ・アクセス・パイプライン2もしくは演算
パイプライン5−0,5−1,…,5−mがベクトル・
レジスタ1−0,1−1,…,1−nにアクセスするタ
イミング・サイクル(以下、バンクスロットという)を
記憶する管理レジスタ、12はバンクスロット割当回
路、13はバンクスロットを記憶しメモリ・アクセス・
パイプライン2へ通知する通知レジスタ、14は起動信
号制御部である。
Next, in order to simplify the access control to each of the bank units B0 to B7, the bank management unit 7 that performs the access control will be described with reference to FIGS. In FIG. 5, 11-1, 11-2, 11
-3 is a memory access pipeline 2 or an operation pipeline 5-0, 5-1, ..., 5-m is a vector
A management register for storing timing cycles (hereinafter referred to as bank slots) for accessing the registers 1-0, 1-1, ..., 1-n, 12 is a bank slot allocation circuit, and 13 is memory access for storing bank slots.・
A notification register 14 for notifying the pipeline 2 is a start signal controller.

【0041】バンク管理部7では、各バンク単位B0〜
B7にアクセスするパイプライン装置(メモリ・アクセ
ス・パイプライン2もしくは演算パイプライン5−0,
5−1,…,5−m)が同一バンク単位へ同時にアクセ
スすることのないように、さらには無駄な空き時間を生
じない効率のよいアクセスが可能になるアクセス制御を
実現するために、バンクスロット・カウンタ7a(1個
設けられている)を、常時カウントすることによって、
バンクスロットと呼ばれるタイミング・サイクルT0〜
T7を規定し、そのカウンタ出力信号を各パイプライン
装置へ通知している。
In the bank management unit 7, each bank unit B0 to B0
Pipeline device for accessing B7 (memory access pipeline 2 or operation pipeline 5-0,
5-1, ..., 5-m) does not access the same bank unit at the same time, and further, in order to realize access control that enables efficient access with no wasted idle time, By constantly counting the slot counter 7a (one provided),
Timing cycle T0 called bank slot
T7 is specified and the counter output signal is notified to each pipeline device.

【0042】なお、このとき、バンクB1をアクセスす
るタイミングは、バンクB0よりも1サイクル遅れた状
態であるため、本カウンタ7aによるカウント値が
“1”の時、1サイクル前でバンクB0をアクセスして
いたパイプラインがバンクB1をアクセスする。従っ
て、バンクスロット・カウンタ7aによるカウント値
は、バンクB0にアクセスするパイプラインの順を示し
ている。
At this time, since the timing of accessing the bank B1 is delayed by one cycle from the bank B0, when the count value of the main counter 7a is "1", the bank B0 is accessed one cycle before. The pipeline that was being accessed accesses bank B1. Therefore, the count value of the bank slot counter 7a indicates the order of pipelines that access the bank B0.

【0043】各管理レジスタ11−1,11−2,11
−3は、各パイプライン装置が有する各バンク単位にデ
ータ転送するためのチャネル(アクセス要求)に対し
て、起動する時点において割り当てられるバンクスロッ
ト番号(B1)を記憶する例えば3ビットの記憶素子
(実際には記憶内容の有効/無効表示のためにさらに1
ビットが必要)で構成されるものであり、パイプライン
装置がベクトル・レジスタ1−0,1−1,…,1−n
にアクセスしている期間、そのチャネル(アクセス要
求)に割り当てられたバンクスロット番号を記憶してい
る。
Each management register 11-1, 11-2, 11
-3 is, for example, a 3-bit storage element (for example, a 3-bit storage element that stores a bank slot number (B1) assigned at the time of activation for a channel (access request) for data transfer in each bank unit of each pipeline device. Actually 1 more for valid / invalid display of stored contents
(Bits are required), and the pipeline device has vector registers 1-0, 1-1, ..., 1-n.
The bank slot number assigned to the channel (access request) is stored during the access to the.

【0044】バンクスロット割当回路12は、管理レジ
スタ11−1,11−2,11−3の出力と、バンクス
ロット・カウンタ7aの出力とによって、使用中のバン
クスロット番号と現在のバンクスロット番号とを知り、
起動のあるパイプライン装置に対して空き時間の最少と
なるようなバンクスロット番号を割り当てる選択回路で
ある。
The bank slot allocation circuit 12 uses the outputs of the management registers 11-1, 11-2, 11-3 and the output of the bank slot counter 7a to determine the bank slot number in use and the current bank slot number. Know
It is a selection circuit that assigns a bank slot number that minimizes the idle time to a pipeline device that is activated.

【0045】ここで、命令制御部6が、バンク管理部7
に起動信号を与え、例えば、メモリ・アクセス・パイプ
ライン2が主記憶部20へアクセスして読出データをベ
クトル・レジスタ1−0へデータ転送するように要求し
たとする。このとき、バンクスロット割当回路12は、
メモリ・アクセス・パイプライン2を起動する時点にお
いて、当該チャネル(アクセス要求)に相当する管理レ
ジスタ11−1,11−2,11−3に、その選択した
バンクスロット番号をセット番号として伝え記憶させ
る。
Here, the instruction control unit 6 causes the bank management unit 7 to operate.
Suppose that the memory access pipeline 2 requests the main memory 20 to transfer the read data to the vector register 1-0. At this time, the bank slot allocation circuit 12
At the time of starting the memory access pipeline 2, the selected bank slot number is transmitted and stored as a set number in the management registers 11-1, 11-2, 11-3 corresponding to the channel (access request). .

【0046】図6は上述の動作を詳細に説明するための
もので、この図6に示すように、メモリ・アクセス・パ
イプライン2が起動信号によって起動されると、エレメ
ント・データa0 ,a1 ,…,an (主記憶部20に格
納されているものとする)にメモリ・アクセスが開始さ
れ、アクセス・タイムtA の後に、メモリ・アクセス・
パイプライン2のバッファ・レジスタ(図5には図示せ
ず)にその読出内容がロードされる。
FIG. 6 is for explaining the above-mentioned operation in detail. As shown in FIG. 6, when the memory access pipeline 2 is activated by the activation signal, the element data a 0 , a 1 , ..., A n (assumed to be stored in the main storage unit 20) is started, and after the access time t A , the memory access is started.
The read contents are loaded into the buffer register (not shown in FIG. 5) of pipeline 2.

【0047】各パイプライン装置には、予め決められた
バンクスロット(図1,図7,図19参照)が割り当て
られているので、各パイプライン装置でバンクスロット
・カウンタ7aの出力を参照し、所望のタイミングにな
った時点で、バッファ・レジスタに一時記憶していたエ
レメント・データa0 ,a1 ,…,an をベクトル・レ
ジスタ1−0,…へ順次転送する。最後のデータを転送
すると、パイプライン終了信号によってリセット信号を
バンク管理部7へ送出し、当該転送チャネルに相当する
管理レジスタ11−1または11−2,11−3の内容
をリセットし無効にする。
Since a predetermined bank slot (see FIGS. 1, 7, and 19) is assigned to each pipeline device, the output of the bank slot counter 7a is referred to in each pipeline device, when it becomes the desired timing, buffer register for temporary storage to have the element data a 0, a 1, ..., a n vector registers 1-0, sequentially transferred to .... When the last data is transferred, a reset signal is sent to the bank management unit 7 by the pipeline end signal, and the contents of the management register 11-1 or 11-2, 11-3 corresponding to the transfer channel are reset and invalidated. .

【0048】なお、バッファ・レジスタは、主記憶部2
0の読出出力をストローブするタイミングと、バンクス
ロットによりベクトル・レジスタ1−0,…に書き込む
までの期間を調整する複数個のレジスタである。また、
上述した例では、主記憶部20が他のアクセス装置から
の要求によってビジー状態等であることを考慮すると、
起動してからベクトル・レジスタ1−0を使用するまで
の時間が一定でない。即ち、上述の例では、パイプライ
ン長が不定な装置とすることができ、演算パイプライン
5−0,5−1,…,5−mは、ステップ数(即ちパイ
プライン長)が固定であり、主記憶部20の状況に影響
されず起動されてからベクトル・レジスタ1−0を使用
するまでの時間は一定となる。この場合は、図4におい
て説明した通り、演算パイプライン5−0,5−1,
…,5−mが、ベクトル・レジスタ1−0にアクセスす
るタイミング関係は固定となっている。
The buffer / register is the main storage unit 2.
A plurality of registers for adjusting the timing for strobing the read output of 0 and the period until writing to the vector registers 1-0, ... Also,
In the above-mentioned example, considering that the main storage unit 20 is in a busy state or the like due to a request from another access device,
The time from starting up to using the vector register 1-0 is not constant. That is, in the above example, the pipeline length can be an indefinite device, and the operation pipelines 5-0, 5-1, ..., 5-m have a fixed number of steps (that is, pipeline length). The time from activation to use of the vector register 1-0 is constant regardless of the status of the main storage unit 20. In this case, as described in FIG. 4, the operation pipelines 5-0, 5-1 and
, 5-m have a fixed timing relationship for accessing the vector register 1-0.

【0049】このため、パイプライン長が固定の装置に
おいて、各チャネル(アクセス要求)間のアクセス・タ
イミングのずれを認識することにより、図5に示すごと
く、起動信号制御部14において、使用中のバンクスロ
ット番号,バンクスロット・カウンタ7aの内容および
起動信号に基づき、起動信号のタイミングでバンクスロ
ットのタイミングを判断することが可能である。
Therefore, by recognizing a shift in access timing between channels (access requests) in a device having a fixed pipeline length, as shown in FIG. 5, the activation signal controller 14 is in use. Based on the bank slot number, the contents of the bank slot counter 7a and the activation signal, the timing of the activation slot can be used to determine the timing of the bank slot.

【0050】さて、本実施例では、上述のような一般的
な動作を行なうベクトル処理装置において、複数の演算
パイプライン5−0,5−1,…,5−mの中に、他の
演算パイプラインに比べて演算スループットの低い演算
パイプラインとして、割算パイプライン15(6個の割
算器5a〜5fを有してなるパイプライン)を有する場
合に、バンク管理部7は、図7に示すように、バンクス
ロットを管理している。
Now, in the present embodiment, in the vector processing device which performs the general operation as described above, other arithmetic operations are performed in a plurality of arithmetic pipelines 5-0, 5-1, ..., 5-m. When a division pipeline 15 (a pipeline including six dividers 5a to 5f) is provided as an operation pipeline having a lower operation throughput than the pipeline, the bank management unit 7 operates as shown in FIG. As shown in, the bank slot is managed.

【0051】つまり、バンク管理部7は、各割算パイプ
ライン5a〜5fがベクトル・レジスタ1−0,1−
1,…,1−nをアクセスするタイミング(DR1,D
R2,DW3)を、メモリ・アクセス・パイプライン2
のうちのストア・パイプライン2Bがベクトル・レジス
タ1−0,1−1,…,1−nから主記憶部20へスト
ア動作する読み出しタイミング(SR)のバンクスロッ
トに対して割り当てている。
That is, in the bank management unit 7, each of the division pipelines 5a to 5f is a vector register 1-0, 1-.
1, ..., 1-n access timing (DR1, D
R2, DW3) to the memory access pipeline 2
Of the vector registers 1-0, 1-1, ..., 1-n are assigned to the bank slot of the read timing (SR) for the store operation to the main memory 20.

【0052】なお、図7において、各符号は、図19に
より前述したものと同様であるが、DR1,DR2は割
算パイプライン15における読出オペランドのタイミン
グを示し、DW3は割算パイプライン15における書込
オペランドのタイミングを示している。割算パイプライ
ン15が動作している間は、タイミングを時分割で使用
する。また、割算パイプライン15とストア・パイプラ
イン2Bとはいずれか一方のみ動作するように制御す
る。さらに、E,Fは演算パイプライン5−0,5−
1,…,5−mのうちの加算パイプラインもしくは乗算
パイプラインが動作するバンクスロットの割付タイミン
グを示す。
In FIG. 7, the reference numerals are the same as those described above with reference to FIG. 19, but DR1 and DR2 indicate the timing of the read operand in the division pipeline 15, and DW3 indicates the timing in the division pipeline 15. The timing of the write operand is shown. Timing is used in a time division manner while the division pipeline 15 is operating. Further, the division pipeline 15 and the store pipeline 2B are controlled so that only one of them operates. Further, E and F are arithmetic pipelines 5-0 and 5-
The allocation timing of the bank slot in which the addition pipeline or the multiplication pipeline of 1, ..., 5-m operates is shown.

【0053】本実施例では、図7に示すように、2種類
の演算パイプラインが動作している際に、各バンク単位
B0〜B7で割算パイプライン15の各割算器5a〜5
fは16タイミング・サイクル毎に到来する、ストア・
パイプライン2Bがベクトル・レジスタ1−0,1−
1,…,1−nから主記憶部20へストア動作する読み
出しタイミングSRのバンクスロットを共用して、割算
パイプライン15による演算処理を実行している。
In this embodiment, as shown in FIG. 7, when two types of operation pipelines are operating, each divider 5a-5 of the division pipeline 15 is divided by bank units B0-B7.
f arrives every 16 timing cycles, store
Pipeline 2B is a vector register 1-0, 1-
The calculation processing by the division pipeline 15 is executed by sharing the bank slot of the read timing SR for performing the store operation from 1, ..., 1-n to the main storage unit 20.

【0054】例えば、割算パイプライン15内の割算器
5aでは、バンク単位B0の最初のストア読出タイミン
グSR(タイミング・サイクルT4)と、バンク単位B
1の最初ストア読出タイミングSR(タイミング・サイ
クルT5)とで、ベクトル・レジスタ1−0,1−1,
…,1−nからのデータの読出(DR1,DR2)を行
なう。そして、16タイミング・サイクル後のバンク単
位B1の2周期目のストア読出タイミングSR(タイミ
ング・サイクルT5)で、割算結果のベクトル・レジス
タ1−0,1−1,…,1−nへの書込(DW3)を行
なった後、再び、バンク単位B2の2周期目のストア読
出タイミングSR(タイミング・サイクルT6)と、バ
ンク単位B3の2周期目のストア読出タイミングSR
(タイミング・サイクルT7)とで、ベクトル・レジス
タ1−0,1−1,…,1−nからのデータの読出(D
R1,DR2)を行ない、以下、同様の処理を繰り返
す。
For example, in the divider 5a in the division pipeline 15, the first store read timing SR (timing cycle T4) of the bank unit B0 and the bank unit B0.
1 first store read timing SR (timing cycle T5) and vector registers 1-0, 1-1,
.., 1-n is read (DR1, DR2). Then, at the store read timing SR (timing cycle T5) of the second cycle of the bank unit B1 after 16 timing cycles, the division result is transferred to the vector registers 1-0, 1-1, ..., 1-n. After the writing (DW3) is performed, the second cycle store read timing SR of the bank unit B2 (timing cycle T6) and the second cycle store read timing SR of the bank unit B3 are again performed.
(Timing cycle T7), read data from the vector registers 1-0, 1-1, ..., 1-n (D
R1, DR2) is performed, and the same processing is repeated thereafter.

【0055】また、割算パイプライン15内の割算器5
bでも、同様に、バンク単位B3の最初のストア読出タ
イミングSR(タイミング・サイクルT7)と、バンク
単位B4の最初ストア読出タイミングSR(タイミング
・サイクルT0)とで、ベクトル・レジスタ1−0,1
−1,…,1−nからのデータの読出(DR1,DR
2)を行ない、16タイミング・サイクル後のバンク単
位B4の2周期目のストア読出タイミングSR(タイミ
ング・サイクルT0)で、割算結果のベクトル・レジス
タ1−0,1−1,…,1−nへの書込(DW3)を行
ない、以下、同様の処理を繰り返す。その他の割算器5
c,5d,5e,5fについても同様に、タイミングの
割付を行なって、割算処理が行なわれる。
Also, the divider 5 in the division pipeline 15
Also in b, similarly, the vector store 1-0, 1 with the first store read timing SR (timing cycle T7) of the bank unit B3 and the first store read timing SR (timing cycle T0) of the bank unit B4.
Reading data from -1, ..., 1-n (DR1, DR
2), and at the second cycle of the store read timing SR (timing cycle T0) of the bank unit B4 after 16 timing cycles, the division result vector registers 1-0, 1-1, ..., 1- Writing to n (DW3) is performed, and the same processing is repeated thereafter. Other divider 5
Similarly, for c, 5d, 5e, and 5f, timing allocation is performed and division processing is performed.

【0056】このように、本発明の第1実施例のベクト
ル処理装置によれば、演算パイプラインのように固定長
のパイプラインにおいても、特にスループットの少ない
パイプライン、例えば割算パイプライン15を、メモリ
・アクセス・パイプライン2のような1つのバンクスロ
ットしか使用しないパイプラインと共用することによ
り、演算パイプラインをオーバラップさせて実行し、全
体の演算効率を落とすことなく演算処理を行なえ、演算
スループットが大幅に向上することになる。
As described above, according to the vector processing device of the first embodiment of the present invention, even in a fixed length pipeline such as an arithmetic pipeline, a pipeline with a particularly low throughput, for example, the division pipeline 15 is used. , The memory access pipeline 2 and the pipeline that uses only one bank slot, the arithmetic pipelines can be overlapped and executed, and the arithmetic processing can be performed without lowering the overall arithmetic efficiency. The calculation throughput will be greatly improved.

【0057】また、特に、メモリ・アクセス・パイプラ
イン2の中でも、主記憶部20から読出を行なうロード
・パイプライン2Aは演算のソースとなるため、結果オ
ペランドを格納するためのストア・パイプライン2Bの
バンクスロットと共用することにより、ベクトル処理装
置全体のスループットを向上させることができるのであ
る。
In particular, among the memory access pipelines 2, the load pipeline 2A for reading from the main memory 20 serves as the source of the operation, and therefore the store pipeline 2B for storing the result operand. It is possible to improve the throughput of the entire vector processing device by using the same bank slot.

【0058】なお、上述の実施例では、スループットの
少ないパイプラインが割算パイプラインである場合につ
いて説明したが、本発明は、これに限定されるものでは
なく、スループットの少ないパイプラインがスクエア・
ルート(2乗根)演算パイプライン等である場合にも同
様に適用され、上述した実施例と同様の作用効果が得ら
れる。
In the above embodiment, the case where the pipeline with low throughput is the division pipeline has been described, but the present invention is not limited to this, and the pipeline with low throughput is a square pipeline.
It is similarly applied to the case of a root (square root) operation pipeline or the like, and the same effect as the above-described embodiment can be obtained.

【0059】(b)第2実施例の説明図8は本発明の第
2実施例としてのベクトル処理装置を示すブロック図
で、この図8において、21はインターリーブされた複
数のバンク単位に複数のエレメント・データを記憶する
ベクトル・レジスタ(VR)、22−1,22−2,
…,22−nはそれぞれベクトル・レジスタ21上のデ
ータを入力オペランドとするかもしくは演算結果をベク
トル・レジスタ21に書き込む演算パイプラインであ
る。
(B) Description of Second Embodiment FIG. 8 is a block diagram showing a vector processing device as a second embodiment of the present invention. In FIG. 8, 21 is a plurality of interleaved banks. Vector register (VR) for storing element data, 22-1, 22-2
, 22-n are operation pipelines that use the data in the vector register 21 as an input operand or write the operation result to the vector register 21.

【0060】また、23−1,23−2,…,23−m
はベクトル・レジスタ21と主記憶部24との間におい
て各エレメント・データを高速にロードないしストアす
べくパイプライン構成されたメモリ・アクセス・パイプ
ラインで、各メモリ・アクセス・パイプライン23−
1,23−2,…,23−mは、ロード・パイプライン
23Aおよびストア・パイプライン23Bとしての機能
を有している。ここで、ロード・パイプライン23A
は、主記憶部24からベクトル・レジスタ21へデータ
を転送(ロード)するためのものであり、ストア・パイ
プライン23Bは、ベクトル・レジスタ21に格納され
たデータを主記憶部24へ転送(ストア)するためのも
のである。
23-1, 23-2, ..., 23-m
Is a memory access pipeline constituted by a pipeline for loading or storing each element data at high speed between the vector register 21 and the main memory unit 24. Each memory access pipeline 23-
, 23-m have a function as a load pipeline 23A and a store pipeline 23B. Where the load pipeline 23A
Is for transferring (loading) data from the main memory unit 24 to the vector register 21, and the store pipeline 23B transfers (stores) the data stored in the vector register 21 to the main memory unit 24. ) To do so.

【0061】なお、図8で示した各メモリ・アクセス・
パイプライン23−1,23−2,…,23−mでは、
ロード・パイプライン23Aとストア・パイプライン2
3Bとがペアとなってそなえられているが、いずれか一
方のみを有する構成としてもよい。また、メモリ・アク
セス・パイプライン23−1,23−2,…,23−m
のいずれかがロード・パイプライン23Aもしくはスト
ア・パイプライン23Bの一方のみ有する構成としても
よい。
It should be noted that each memory access shown in FIG.
In the pipelines 23-1, 23-2, ..., 23-m,
Load pipeline 23A and store pipeline 2
3B and 3B are provided as a pair, but a configuration having only one of them may be adopted. Also, the memory access pipelines 23-1, 23-2, ..., 23-m
Either of the above may have only one of the load pipeline 23A and the store pipeline 23B.

【0062】25は追越し防止制御部で、この追越し防
止制御部25は、メモリ・アクセス・パイプライン23
−1,23−2,…,23−mにおけるロード・パイプ
ライン23Aからベクトル・レジスタ21へデータを転
送する命令の実行中に、ロード・パイプライン23Aが
ベクトル・レジスタ21に書き込んだデータを入力オペ
ランドとする後続の演算命令を、演算パイプライン22
−1,22−2,…,22−nのいずれかが実行する場
合、命令の実行順序を保証するために、ロード・パイプ
ライン23Aの実行を後続の演算パイプラインの処理が
追い越す条件を検出した時に、全ての演算パイプライン
22−1,22−2,…,22−nの実行を一時中断す
べく、例えば、処理の一時中断を要求している間は
“1”に立ち上がり、処理を続行可能な時には“0”に
なる追越し防止制御信号を出力するものである。
Reference numeral 25 denotes an outpacing prevention control unit, which is a memory access pipeline 23.
Input the data written to the vector register 21 by the load pipeline 23A during the execution of the instruction to transfer the data from the load pipeline 23A to the vector register 21 at -1, 23-2, ..., 23-m. Subsequent operation instructions that are used as operands are processed by the operation pipeline 22.
When any of -1, 22-2, ..., 22-n is executed, a condition is detected that the processing of the subsequent operation pipeline overtakes the execution of the load pipeline 23A in order to guarantee the execution order of the instructions. At this time, in order to temporarily suspend the execution of all the arithmetic pipelines 22-1, 22-2, ..., 22-n, for example, while requesting the temporary suspension of the processing, it rises to “1” to execute the processing. When it is possible to continue, the overtaking prevention control signal which becomes "0" is output.

【0063】27は各演算パイプライン22−1,22
−2,…,22−nや各メモリ・アクセス・パイプライ
ン23−1,23−2,…,23−mに対する命令の発
信と進行状況とを管理する命令発信/管理部で、この命
令発信/管理部27は、命令を発信するときに、その命
令の発信以前に実行を開始され未だその実行を完了して
いない命令との間にオペランド・レジスタのリンクがあ
るかどうかをチェックし、リンクがあれば、追越し防止
制御部25にリンク条件が成立したことをリンク情報と
して通知する機能を有している。
27 is each operation pipeline 22-1, 22
-2, ..., 22-n and the memory access pipelines 23-1, 23-2 ,. When issuing an instruction, the management unit 27 checks whether or not there is a link of an operand register with an instruction that has started execution before the instruction is issued and has not yet completed execution, and If there is, it has a function of notifying the overtaking prevention control unit 25 as link information that the link condition is satisfied.

【0064】そして、第2実施例では、図9に示すよう
な追越し防止制御信号変更部26Aおよび収束期間通知
部26Bが、各演算パイプライン22−1,22−2,
…,22−n毎にそなえられている。この追越し防止制
御信号変更部26Aは、ベクトル・レジスタ21からの
データ供給を受けるリード処理期間と、リード処理期間
後に結果をまとめ上げる収束期間とを必要とするベクト
ル命令については、該当ベクトル命令の収束処理を実行
中の演算パイプライン22−1,22−2,…,22−
nに対する追越し防止制御を行なわないように、追越し
防止制御部25から出力される追越し防止制御信号を変
更するものである。
Then, in the second embodiment, the overtaking prevention control signal changing unit 26A and the convergence period notifying unit 26B as shown in FIG. 9 are provided in the respective operation pipelines 22-1, 22-2.
..., provided every 22-n. The overtaking prevention control signal changing unit 26A converges the corresponding vector instruction for a vector instruction that requires a read processing period in which data is supplied from the vector register 21 and a convergence period in which results are collected after the read processing period. Operation pipelines 22-1, 22-2, ..., 22- executing processing
The overtaking prevention control signal output from the overtaking prevention control unit 25 is changed so that the overtaking prevention control for n is not performed.

【0065】また、収束期間通知部26Bは、各演算パ
イプライン22−1,22−2,…,22−nが有する
収束期間の開始信号(start final sequence;例えば収束
期間開始時に立ち上がるパルス信号)と収束期間の終了
信号(terminal final sequence;例えば収束期間終了時
に立ち上がるパルス信号)とに基づいて、各演算パイプ
ライン22−1,22−2,…,22−nが前述した収
束期間にあるか否かを、収束期間通知信号として対応す
る追越し防止制御信号変更部26Aへ出力するもので、
例えば、図9に示すように構成されている。
The convergence period notifying section 26B has a start final sequence (start final sequence; for example, a pulse signal which rises at the start of the convergence period) of each operation pipeline 22-1, 22-2, ..., 22-n. And whether each of the operation pipelines 22-1, 22-2, ..., 22-n is in the above-mentioned convergence period, based on the end signal of the convergence period (terminal final sequence; for example, a pulse signal rising at the end of the convergence period). Whether or not to output as a convergence period notification signal to the corresponding overtaking prevention control signal changing unit 26A,
For example, it is configured as shown in FIG.

【0066】図9において、26aはORゲート、26
bはANDゲート、26cはフリップフロップ、26e
はインバータ(NOTゲート)であり、ORゲート26
aは、開始信号とフリップフロップ26cからのデータ
出力との論理和をとるものであり、ANDゲート26b
は、ORゲート26aからの論理和出力と、終了信号の
インバータ26eによる反転信号との論理積をとるもの
である。
In FIG. 9, 26a is an OR gate and 26a.
b is an AND gate, 26c is a flip-flop, 26e
Is an inverter (NOT gate), and the OR gate 26
a is the logical sum of the start signal and the data output from the flip-flop 26c, and the AND gate 26b
Is a logical product of the logical sum output from the OR gate 26a and the inverted signal of the end signal from the inverter 26e.

【0067】また、フリップフロップ26cは、AND
ゲート26bからの論理積出力に応じてデータ出力を
“1”に立ち上げるもので、ORゲート26aに開始信
号が入力されると、フリップフロップ26cのデータ出
力は立ち上がって“1”にセットされる一方、ANDゲ
ート26bに終了信号が入力されると、フリップフロッ
プ26cのデータ出力は“1”から“0”にリセットさ
れるようになっている。つまり、フリップフロップ26
cのデータ出力(収束期間通知手段)は、各演算パイプ
ライン22−1,22−2,…,22−nが収束処理を
実行中(収束期間中)、“1”に立ち上がっている。
The flip-flop 26c is ANDed.
The data output is raised to "1" according to the logical product output from the gate 26b. When the start signal is input to the OR gate 26a, the data output of the flip-flop 26c is raised and set to "1". On the other hand, when the end signal is input to the AND gate 26b, the data output of the flip-flop 26c is reset from "1" to "0". That is, the flip-flop 26
The data output of c (convergence period notifying means) rises to "1" while each of the operation pipelines 22-1, 22-2, ..., 22-n is executing the convergence process (during the convergence period).

【0068】そして、追越し防止制御信号変更部26A
をなすANDゲート26dは、追越し防止制御部25に
より生成される追越し防止制御信号と、フリップフロッ
プ26cのデータ出力(収束期間通知手段)のインバー
タ(NOTゲート)26fによる反転信号との論理積を
とるもので、フリップフロップ26cのデータ出力が
“1”の間は、収束期間であるので、追越し防止制御信
号は、ANDゲート26dで強制的に“0”に変更され
る一方、フリップフロップ26cのデータ出力が“0”
の時は、追越し防止制御信号はそのまま出力されるよう
になっている。
Then, the overtaking prevention control signal changing unit 26A
The AND gate 26d that forms the logical AND of the overtaking prevention control signal generated by the overtaking prevention control unit 25 and the inverted signal by the inverter (NOT gate) 26f of the data output (convergence period notifying means) of the flip-flop 26c. However, since the data output of the flip-flop 26c is "1" during the convergence period, the overtaking prevention control signal is forcibly changed to "0" by the AND gate 26d, while the data of the flip-flop 26c is changed. Output is "0"
At this time, the overtaking prevention control signal is output as it is.

【0069】次に、上述のごとく構成されているベクト
ル処理装置の動作について、図10〜図18を参照しな
がら説明する。 〔該当命令の動作の説明〕 まず、該当命令の動作に関して説明する。ただし、実際
のインプリメンテーションの都合により、ここに記す動
作とは若干異なる動作をすることもある。ベクトル・レ
ジスタ21上のデータの総和を求める総和演算命令や、
ベクトル・レジスタ21上のデータの最大値もしくは最
小値を求める検索演算命令では、元となるデータをベク
トル・レジスタ21から供給を受ける。
Next, the operation of the vector processing device configured as described above will be described with reference to FIGS. [Description of Operation of Corresponding Instruction] First, the operation of the corresponding instruction will be described. However, depending on the actual implementation, the operation may be slightly different from the operation described here. A sum operation instruction for calculating the sum of the data in the vector register 21,
In the search operation instruction for obtaining the maximum value or the minimum value of the data in the vector register 21, the original data is supplied from the vector register 21.

【0070】総和演算命令では、順次、累和を求めるこ
とになるが、処理速度の向上のために、パイプラインの
ステージ分の部分累和を、多重にもつ演算器分だけ生成
する。次に、総和演算の結果を求めるために、これらの
部分和を全て足し込む。総和演算では、この部分和を足
し込む処理を実行する期間が収束期間となる。検索演算
命令では、順次、比較し選択することになるが、この場
合も、ステージ数分の部分的な選択結果が、多重にもつ
演算器分だけ生成された後、これらの部分的な選択結果
の中から最終的に1つの結果を求める。検索演算では、
この部分的な選択結果の中から最終的な1つの結果を求
める操作を実行する期間が収束期間となる。
In the sum operation instruction, the cumulative sum is sequentially obtained, but in order to improve the processing speed, the partial cumulative sums for the stages of the pipeline are generated only for the multiple arithmetic units. Next, these partial sums are all added to obtain the result of the summation operation. In the total sum calculation, the period during which the process of adding the partial sums is executed is the convergence period. In the search operation instruction, comparison and selection are sequentially performed, but in this case as well, after the partial selection results for the number of stages are generated for the arithmetic units having multiple, these partial selection results Finally, one result is sought. In the search operation,
The convergence period is a period for executing an operation for obtaining one final result from the partial selection results.

【0071】これらの収束期間における処理は、ベクト
ル・レジスタ21からのデータ供給を受けない処理のた
め、ベクトル・レジスタ21のリンクによる追越し防止
制御は不要である。 〔一般的な追越し防止制御の説明〕 追越し防止制御を司るベクトル処理装置の部分は、一例
をあげると次のようになっている。命令の発信と進行状
況とを管理する命令発信/管理部27が命令を発信する
ときに、その命令の発信以前に実行を開始され、未だそ
の実行を完了していない命令との間にオペランド・レジ
スタのリンクがあるかどうかをチェックし、リンクがあ
れば、追越し防止制御部25にリンク条件が成立したこ
とを通知する。
Since the processing in these convergence periods is the processing in which the data supply from the vector register 21 is not received, the overtaking prevention control by the link of the vector register 21 is unnecessary. [Description of General Overtaking Prevention Control] An example of the portion of the vector processing device that controls the overtaking prevention control is as follows. When the command transmission / management unit 27, which manages the command transmission and the progress status, transmits a command, it executes an operand between the command that has been executed before the command is transmitted and has not yet been executed. It is checked whether there is a register link, and if there is a link, the overtaking prevention control unit 25 is notified that the link condition is satisfied.

【0072】このリンク条件は、リンクの成立したベク
トル・レジスタ21にデータを書き込む先行命令の実行
を完了して、レジスタ・リンクが解消したときに解除さ
れる。レジスタ・リンクが複数存在するときは、全ての
レジスタ・リンクが解消されたときにリンク条件を解除
する。リンク条件の成立中は、先行命令のデータ書込が
中断されることを検出すると、追越し防止制御部25が
起動される。この追越し防止制御部25は、全ての演算
パイプライン22−1,22−2,…,22−nとスト
ア・パイプライン23Bとに対して処理を一時中断させ
るように通知する。ただし、リンクの起点(親)となる
パイプラインについては、処理の中断は通知しない。先
行命令のデータ書込を再開するか、もしくは、先行命令
を完了すると、追越し防止制御部25は、全ての演算パ
イプライン22−1,22−2,…,22−nとストア
・パイプライン23Bとに対して処理を再開するように
通知する。
This link condition is canceled when the register link is canceled by completing the execution of the preceding instruction for writing the data to the vector register 21 in which the link is established. When there are a plurality of register links, the link condition is released when all the register links are released. When it is detected that the data writing of the preceding instruction is interrupted while the link condition is satisfied, the overtaking prevention control unit 25 is activated. The overtaking prevention control unit 25 notifies all the operation pipelines 22-1, 22-2, ..., 22-n and the store pipeline 23B to suspend the processing. However, regarding the pipeline that is the starting point (parent) of the link, the interruption of processing is not notified. When the data writing of the preceding instruction is restarted or the preceding instruction is completed, the overtaking prevention control unit 25 causes all the operation pipelines 22-1, 22-2, ..., 22-n and the store pipeline 23B. Notify and to restart processing.

【0073】実際には、各演算パイプライン22−1,
22−2,…,22−nのベクトル・レジスタ21から
のデータ読出のスループットは、どの演算パイプライン
22−1,22−2,…,22−nでも等しいようにし
て、処理スループットの差による動的な追越し防止制御
を不要としている。このため、スループットの変化する
リンクの親となるパイプラインはロード・パイプライン
23Bに限定される。演算パイプライン22−1,22
−2,…,22−n間の追越し防止については、全ての
演算パイプライン22−1,22−2,…,22−nに
対して同時に処理の中断と再開とを指示することで回避
されている。
Actually, each operation pipeline 22-1,
The throughputs of data read from the vector registers 21 of 22-2, ..., 22-n are made equal in any of the operation pipelines 22-1, 22-2 ,. It does not require dynamic overtaking prevention control. Therefore, the pipeline that is the parent of the link whose throughput changes is limited to the load pipeline 23B. Arithmetic pipelines 22-1 and 22
The prevention of overtaking between −2, ..., 22-n is avoided by instructing all arithmetic pipelines 22-1, 22-2 ,. ing.

【0074】なお、インプリメンテーションの都合によ
り、実際には、低スループットの演算パイプラインもベ
クトル処理装置上に存在している。このような場合に
は、通常は、この低スループットのパイプラインは、他
のパイプラインとのリンク動作を禁止するように命令発
信の段階で制御されている。とは言っても、より性能を
追求する制御では、低スループットのパイプラインと言
えども、制限付きでリンク動作をさせることがある。
Note that due to the implementation, a low-throughput arithmetic pipeline actually exists on the vector processing device. In such a case, this low-throughput pipeline is usually controlled at the stage of issuing an instruction so as to prohibit the link operation with other pipelines. However, in the control for pursuing higher performance, even if the pipeline has low throughput, the link operation may be limited.

【0075】一例を挙げれば、先行する命令を処理する
パイプラインのスループットが高いか等しければ、その
パイプラインの書込結果を読み出すような形のリンク動
作を行なうことは可能である。禁止されているのは、低
スループットの演算パイプラインの書込結果を使用する
形で、高スループットのパイプラインが該低スループッ
トのパイプラインにリンクして動作することである。
As an example, if the throughput of the pipeline processing the preceding instruction is high or equal, it is possible to perform the link operation of reading the write result of the pipeline. What is prohibited is that the high throughput pipeline operates by linking to the low throughput pipeline by using the write result of the low throughput arithmetic pipeline.

【0076】〔リード処理期間の説明〕 リード処理期間は、命令発信/管理部27からの命令で
最初に処理するデータを演算パイプライン22−1,2
2−2,…,22−nがベクトル・レジスタ21から受
け取った時点を開始とし、その命令で最後に処理するデ
ータを演算パイプライン22−1,22−2,…,22
−nがベクトル・レジスタ21から受け取った時点を完
了とする。
[Explanation of Read Processing Period] In the read processing period, the data processed first by the command from the command transmission / management unit 27 is processed by the operation pipelines 22-1 and 22-2.
2-2, ..., 22-n starts when the data is received from the vector register 21, and the data to be processed last by the instruction is calculated by the operation pipelines 22-1, 22-2 ,.
Complete when -n is received from vector register 21.

【0077】〔追越し防止制御信号変更部26A(A
NDゲート26d)を追越し防止制御部25側に、収束
期間通知部26Bを命令発信/管理部27側にそなえた
場合の説明〕 ここでは、命令発信/管理部27から追越し防止制御部
25に対して、各演算パイプライン22−1,22−
2,…,22−nの処理が収束期間に入ったことを演算
パイプライン情報とともに通知する機能と、収束期間が
完了したことを演算パイプライン情報とともに通知する
機能とが追加されている。つまり、図9により前述した
収束期間通知部26Bとしての機能が命令発信/管理部
27にそなえられている。
[Overtaking prevention control signal changing unit 26A (A
Description of a case in which the ND gate 26d) is provided for the overtaking prevention control unit 25 side and the convergence period notification unit 26B is provided for the command transmission / management unit 27 side] Then, each operation pipeline 22-1, 22
A function of notifying that the processing of 2, ..., 22-n has entered the convergence period together with the operation pipeline information and a function of notifying that the processing of the convergence period has been completed together with the operation pipeline information are added. That is, the function as the convergence period notification unit 26B described above with reference to FIG. 9 is provided in the command transmission / management unit 27.

【0078】また、追越し防止制御部25には、各演算
パイプライン22−1,22−2,…,22−nに対す
る処理の一時中断(追越し防止制御信号)を通知する機
能が各演算パイプライン22−1,22−2,…,22
−n毎に設けられているが、その追越し防止制御部25
における各追越し防止制御信号出力用信号線毎に、追越
し防止制御信号変更部26Aが設けられ、演算パイプラ
イン22−1,22−2,…,22−nのうち、収束期
間にある演算パイプラインには処理の一時中断(追越し
防止制御信号)が通知されないようになっている。
Further, the overtaking prevention control unit 25 has a function of notifying a temporary interruption of processing (overtaking prevention control signal) to each of the arithmetic pipelines 22-1, 22-2, ..., 22-n. 22-1, 22-2, ..., 22
Although it is provided for each −n, the overtaking prevention control unit 25
In each of the operation pipelines 22-1, 22-2, ..., 22-n, an operation pipeline in the convergence period is provided with an overtaking prevention control signal changing unit 26A for each signal line for outputting the overtaking prevention control signal in FIG. Is not notified of a temporary interruption of processing (overtaking prevention control signal).

【0079】具体的には、命令発信/管理部27では、
命令をデコードして収束期間をもつ命令であることを検
出すると、その命令を発信する演算パイプライン22−
1,22−2,…,22−nの管理部(図示せず)に収
束期間を有する命令である旨のフラグを立てる。演算パ
イプライン側管理部では、ベクトル長からリード期間に
要する時間を計算し、追越し防止制御部25からの処理
の一時中断を通知する機能による情報を使用して、リー
ド処理期間を正確に把握する。
Specifically, the command issuing / management unit 27
When the instruction is decoded and it is detected that the instruction has a convergence period, the operation pipeline 22- that issues the instruction
A flag indicating that the instruction has a convergence period is set in a management unit (not shown) of 1, 22-2, ..., 22-n. The calculation pipeline side management unit calculates the time required for the read period from the vector length, and uses the information by the function of notifying the temporary interruption of the process from the overtaking prevention control unit 25 to accurately grasp the read processing period. .

【0080】リード処理期間の完了とともに、収束期間
が開始されるわけであるから、この時に追越し防止制御
部25に対して、収束期間通知部26Bにより、その演
算パイプライン22−1,22−2,…,22−nが収
束期間に入ったことを通知する。このとき通知される収
束期間通知信号は、前述した通り、収束期間にあるとき
にはその演算パイプライン22−1,22−2,…,2
2−nに対応する信号線が“1”に立ち上がり、それ以
外のときは“0”となるものである。
Since the convergence period is started with the completion of the read processing period, at this time, the convergence period notification unit 26B notifies the overtaking prevention control unit 25 of the operation pipelines 22-1 and 22-2. , ..., 22-n is notified that it has entered the convergence period. The convergence period notification signal notified at this time is, as described above, the operation pipelines 22-1, 22-2, ..., 2 during the convergence period.
The signal line corresponding to 2-n rises to "1", and otherwise becomes "0".

【0081】そして、追越し防止制御信号出力用の信号
線上に、前述のように追越し防止制御信号変更部26A
をなすANDゲート26dを設けることで、対応する演
算パイプライン22−1,22−2,…,22−nから
の収束期間通知信号(フリップフロップ26cのデータ
出力)が“0”のときには、追越し防止制御信号は、そ
のままANDゲート26dを通過して対応する演算パイ
プライン22−1,22−2,…,22−nに通知され
る一方、対応する演算パイプライン22−1,22−
2,…,22−nからの収束期間通知信号が“1”のと
きには、追越し防止制御信号は、ANDゲート26dに
より“0”に変更されてから対応する演算パイプライン
22−1,22−2,…,22−nに通知される。
Then, as described above, the overtaking prevention control signal changing section 26A is provided on the signal line for outputting the overtaking prevention control signal.
By providing the AND gate 26d that forms the AND gate 26d, when the convergence period notification signal (data output of the flip-flop 26c) from the corresponding operation pipeline 22-1, 22-2, ... The prevention control signal directly passes through the AND gate 26d and is notified to the corresponding operation pipelines 22-1, 22-2, ..., 22-n, while the corresponding operation pipelines 22-1, 22-
When the convergence period notification signal from 2, ..., 22-n is "1", the overtaking prevention control signal is changed to "0" by the AND gate 26d, and then the corresponding operation pipelines 22-1, 22-2 , ..., 22-n are notified.

【0082】これにより、従来、図10に示すように、
追越し防止制御信号の出力時には収束期間であっても完
全に中断されていた処理が、本実施例では、収束期間中
にある演算パイプラインについては変更された追越し防
止制御信号を受けることにより、図11に示すように、
中断されることなく実行されるようになる。 〔追越し防止制御信号変更部26Aおよび収束期間通
知部26Bを各演算パイプライン側にそなえた場合の動
作の説明〕 ここでは、各演算パイプライン22−1,22−2,
…,22−n毎に追越し防止制御信号変更部26Aおよ
び収束期間通知部26Bをそなえ、各演算パイプライン
自身のシーケンサ(開始信号,終了信号)に基づいて、
収束期間通知部26Bにより自分が収束期間にいること
を検出し、収束期間中は、追越し防止制御信号変更部2
6Aにより、追越し防止制御部25から各演算パイプラ
イン22−1,22−2,…,22−nに対する追越し
防止制御信号を、“1”から“0”に変更するようにし
ている。
As a result, as shown in FIG.
Although the processing that was completely interrupted even during the convergence period at the time of outputting the overtaking prevention control signal, in the present embodiment, the operation pipeline in the convergence period receives the changed overtaking prevention control signal, As shown in 11,
It will be executed without interruption. [Explanation of Operation when Providing Overtaking Prevention Control Signal Changing Unit 26A and Convergence Period Notifying Unit 26B on Each Operation Pipeline Side] Here, each operation pipeline 22-1, 22-2
, 22-n is provided with an overtaking prevention control signal changing unit 26A and a convergence period notifying unit 26B, and based on the sequencer (start signal, end signal) of each operation pipeline itself,
The convergence period notification unit 26B detects that the user is in the convergence period, and during the convergence period, the overtaking prevention control signal changing unit 2
6A is used to change the overtaking prevention control signal from the overtaking prevention control unit 25 to each of the operation pipelines 22-1, 22-2, ..., 22-n from “1” to “0”.

【0083】なお、各演算パイプライン22−1,22
−2,…,22−nには、命令,ベクトル長,起動信号
を受け取って処理を実行できるようにデータフローを制
御するための内部シーケンサ(図示せず)が用意されて
いる。この内部シーケンサは、データフローを制御する
ための命令の各種シーケンスを実行できるように、命令
に伴うシーケンス連鎖の手順を滞りなく実行できるよう
になっている。
The arithmetic pipelines 22-1 and 22
An internal sequencer (not shown) for controlling the data flow so that the instruction, the vector length, and the activation signal can be received and the processing can be executed is provided in each of -2, ..., 22-n. This internal sequencer is capable of smoothly executing the sequence chain procedure associated with the instructions so that it can execute various sequences of instructions for controlling the data flow.

【0084】収束期間通知部26Bでは、リード処理期
間の終了と収束期間開始との情報を内部シーケンサから
受け取って、収束期間以外のときは、追越し防止制御信
号変更部26A(ANDゲート26d)により、追越し
防止制御信号をそのまま通過させるが、対応する演算パ
イプラインに対する収束期間のときには、追越し防止制
御信号を“0”に変更する。
The convergence period notifying unit 26B receives information on the end of the read processing period and the start of the convergence period from the internal sequencer, and when it is outside the convergence period, the overtaking prevention control signal changing unit 26A (AND gate 26d) Although the overtaking prevention control signal is passed as it is, the overtaking prevention control signal is changed to “0” during the convergence period for the corresponding arithmetic pipeline.

【0085】これにより、上述のように追越し防止制御
信号変更部26Aおよび収束期間通知部26Bを各演算
パイプライン側にそなえた場合にも、従来、図10に示
すように、追越し防止制御信号の出力時には収束期間で
あっても完全に中断されていた処理が、本実施例では、
収束期間中にある演算パイプラインについては変更され
た追越し防止制御信号を受けることにより、図11に示
すように、中断されることなく実行されるようになる。
As a result, even when the overtaking prevention control signal changing unit 26A and the convergence period notifying unit 26B are provided on the respective operation pipeline sides as described above, conventionally, as shown in FIG. At the time of output, the processing that was completely interrupted even in the convergence period is
By receiving the changed overtaking prevention control signal, the arithmetic pipeline in the convergence period can be executed without interruption as shown in FIG.

【0086】〔演算パイプラインの一構成例およびそ
の動作の説明〕 ここで、演算パイプラインの一例として、図13に示す
ように4段のステージから成るパイプライン式の加算器
22a〜22dを、図12に示すように4個有する総和
演算パイプライン22Aを示す。なお、図13におい
て、28aは第1ステージ・レジスタ、28bは第2ス
テージ・レジスタ、28cは第3ステージ・レジスタ、
28dは第4ステージ・レジスタ、28eは転送用中継
レジスタ、29はセレクタ、30は指数差計算手段、3
1は桁合わせ手段、32は加算/減算手段、33は正規
化手段である。また、各加算器22a〜22dのステー
ジ段数や、加算器の数については、処理装置毎に最適な
段数が用意され、処理する命令(検索演算命令等)によ
っては加算器を比較選択手段とすることもできる。
[Example of Arrangement of Arithmetic Pipeline and Description of Its Operation] Here, as an example of an arithmetic pipeline, as shown in FIG. 13, the pipeline type adders 22a to 22d each including four stages are As shown in FIG. 12, a total operation pipeline 22A having four pieces is shown. In FIG. 13, 28a is a first stage register, 28b is a second stage register, 28c is a third stage register,
28d is a fourth stage register, 28e is a transfer relay register, 29 is a selector, 30 is an exponent difference calculation means, 3
1 is a digit alignment means, 32 is an addition / subtraction means, and 33 is a normalization means. Further, with respect to the number of stages of the adders 22a to 22d and the number of adders, an optimal number of stages is prepared for each processing device, and the adder is used as a comparison / selection means depending on an instruction to be processed (search operation instruction etc.). You can also

【0087】各加算器22a〜22dの第1ステージは
桁合わせに先立つ指数比較処理、第2ステージは桁合わ
せ処理を実行する。第3ステージは加算/減算処理を実
行する。第4ステージは正規化処理である。加算器22
aはベクトル・レジスタ中のデータ・エレメント番号の
4による剰余が0のエレメントを処理し、加算器22b
はエレメント番号の4による剰余が1のエレメントを処
理し、加算器22cはエレメント番号の4による剰余が
2のエレメントを処理し、加算器22dはエレメント番
号の4による剰余が3のエレメントを処理するように構
成されている。
The first stage of each of the adders 22a to 22d executes the exponent comparison process prior to the digit alignment, and the second stage executes the digit alignment process. The third stage executes addition / subtraction processing. The fourth stage is a normalization process. Adder 22
a processes an element whose remainder is 0 due to the data element number 4 in the vector register, and the adder 22b
Of the element number 4 processes the element whose remainder is 1, the adder 22c processes the element whose remainder by 2 of the element number 4 is 2, and the adder 22d processes the element whose remainder by the element number of 4 is 3. Is configured.

【0088】また、各加算器22a〜22dを一つにま
とめるために、加算器22b〜22dから加算器22a
に対して結果を転送することができるようになってい
る。総和演算では、ベクトル・レジスタ21からのデー
タ供給を受けるリード処理期間中は、第4ステージのデ
ータは第1ステージに戻されて、加算器22a〜22d
は累和加算器として動作する。また、4つの加算器22
a〜22dは並列に動作する。最終リード処理期間中は
各加算器22a〜22d中に4つの部分和を生成する。
Further, in order to combine the adders 22a to 22d into one, the adders 22b to 22d are added to the adder 22a.
The result can be transferred to. In the summing operation, during the read processing period in which the data is supplied from the vector register 21, the data of the fourth stage is returned to the first stage, and the adders 22a to 22d are added.
Operates as a cumulative sum adder. Also, four adders 22
a to 22d operate in parallel. During the final read processing period, four partial sums are generated in each of the adders 22a to 22d.

【0089】加算器22aには、Σ(E16i ) ,Σ(E
16i+4 ),Σ(E16i+8 ),Σ(E 16i+12)の4種類の
部分和が生成される。ここで、Ei はエレメント番号i
のデータ・エレメントの値である。収束期間では、各部
分和を取りまとめる手段は、幾つも存在しえるが、ここ
では、その中の一例を図14に示す。
In the adder 22a, Σ (E16i), Σ (E
16i + 4), Σ (E16i + 8), Σ (E 16i + 12) 4 types
Partial sums are generated. Where EiIs the element number i
Is the value of the data element of. In the convergence period, each part
There can be many ways to organize the disintegration, but here
Then, an example thereof is shown in FIG.

【0090】まず、各加算器22a〜22d中で、4つ
の部分和を足し合わせて各々1つの部分結果を生成す
る。次に、これらの4つの部分結果を足し合わせて最終
的な結果を演算する。ここでも、加算器22aを例にと
って、部分結果を生成する様子を説明する。収束期間に
入った瞬間に、どの部分和がどのステージにいるかにつ
いては、VL長に依存するので、Σ(E16i ) の部分和
が第1ステージ・レジスタ28aにセットされるまで空
足しを行ない演算順序を保証する。第1ステージ・レジ
スタ28aで2τの間、部分和Σ(E16i ) をホールド
する。
First, in each of the adders 22a to 22d, four partial sums are added up to generate one partial result. The four partial results are then added together to compute the final result. Here again, the manner in which the partial result is generated will be described taking the adder 22a as an example. At the moment of entering the convergence period, which partial sum is in which stage depends on the VL length, and therefore emptying is performed until the partial sum of Σ (E 16i ) is set in the first stage register 28a. Guarantee the calculation order. The partial sum Σ (E 16i ) is held for 2τ by the first stage register 28a.

【0091】その間に、第1ステージのもう一方のレジ
スタ28aに部分和Σ(E16i+4 )をセットする。部分
和Σ(E16i ) と部分和Σ(E16i+4 )を第1ステージ
から第2ステージに移動させ加算処理を開始するととも
に、部分和Σ(E16i+8 )を第1ステージ・レジスタ2
8aにセットし、2τの間、ホールドする。部分和Σ
(E16i+8 )をホールド中に、もう一つの第1ステージ
・レジスタ28aに部分和Σ(E16i+12)をセットす
る。そして、部分和Σ(E16i+8 )と部分和Σ(E
16i+12)とを加算する。
In the meantime, the other cash register of the first stage
The partial sum Σ (E16i + 4) Is set. part
Sum Σ (E16i) And partial sum Σ (E16i + 4) The first stage
From the second stage to start the addition process
And the partial sum Σ (E16i + 8) Is the first stage register 2
Set to 8a and hold for 2τ. Partial sum Σ
(E16i + 8) Hold another stage
The partial sum Σ (E16i + 12)
It Then, the partial sum Σ (E16i + 8) And partial sum Σ (E
16i + 12) And are added.

【0092】続いて、部分和{Σ(E16i ) +Σ(E
16i+4 )}を第1ステージ・レジスタ28aにセット
し、3τの間、ホールドする。その間に部分和{Σ(E
16i+8 )+Σ(E16i+12)}をもう一方の第1ステージ
・レジスタ28aにセットして加算処理を実行して加算
器22aの中間結果を求める。収束期間における、この
中間和を求める動作は、各加算器22a〜22dで並行
して行なわれる。
Then, the partial sum {Σ (E 16i ) + Σ (E
16i + 4 )} is set in the first stage register 28a and held for 3τ. Meanwhile, the partial sum {Σ (E
16i + 8 ) + Σ (E 16i + 12 )} is set in the other first stage register 28a and addition processing is executed to obtain the intermediate result of the adder 22a. The operation of obtaining the intermediate sum during the convergence period is performed in parallel by each of the adders 22a to 22d.

【0093】最終的な結果を求めるための演算は、加算
器22aで実行する。加算器22aでは、第1ステージ
・レジスタ28aに加算器22aの中間和をホールド
し、加算器22bの中間和がもう一方の第1ステージ・
レジスタ28aにセットされるのを待つ。そして、加算
器22aと加算器22bとの中間和どうしを加算して中
間和Aを求める。この中間和Aは、第1ステージ・レジ
スタ28a上でホールドされ、加算器22cの中間和が
もう一方の第1ステージ・レジスタ28aにセットされ
るのを待つ。そして、中間和Aと加算器22cの中間和
が加算されて、中間和Bが生成される。この中間和B
は、第1ステージ・レジスタ28aでホールドされ、加
算器22dの中間和がもう一方の第1ステージ・レジス
タ28aにセットされるのを待つ。そして、中間和Bと
加算器22dの中間和とを加算して、最終的な結果を生
成する。
The operation for obtaining the final result is executed by the adder 22a. In the adder 22a, the intermediate sum of the adder 22a is held in the first stage register 28a, and the intermediate sum of the adder 22b is stored in the other first stage register.
Wait for the register 28a to be set. Then, the intermediate sums of the adder 22a and the adder 22b are added to obtain the intermediate sum A. This intermediate sum A is held on the first stage register 28a and waits until the intermediate sum of the adder 22c is set on the other first stage register 28a. Then, the intermediate sum A and the intermediate sum of the adder 22c are added to generate the intermediate sum B. This intermediate sum B
Is held by the first stage register 28a and waits for the intermediate sum of the adder 22d to be set in the other first stage register 28a. Then, the intermediate sum B and the intermediate sum of the adder 22d are added to generate a final result.

【0094】〔付加演算器付き演算パイプラインに本
発明を適用した実施例の説明〕 次に、各演算パイプライン22−1,22−2,…,2
2−nが、基本演算器と収束を処理する付加演算器とを
有する構成のもので(例えば図17参照)、収束処理を
付加演算器により実行し、収束処理中、基本演算器によ
り後続の他の演算命令を実行できるものである場合につ
いて説明する。
[Explanation of an embodiment in which the present invention is applied to an operation pipeline with an additional operation unit] Next, each operation pipeline 22-1, 22-2, ..., 2
2-n has a configuration including a basic computing unit and an additional computing unit that processes convergence (see, for example, FIG. 17), the convergence process is executed by the additional computing unit, and during the convergence process, A case will be described in which another operation instruction can be executed.

【0095】このような場合も、基本演算器から切り離
されて収束期間に入ってから、その命令を完了するまで
の収束期間中、付加演算器では、追越し防止制御部25
から各演算パイプライン22−1,22−2,…,22
−nに対する処理の一時中断を通知する手段による情報
(追越し防止制御信号)を、追越し防止制御信号変更部
26Aにより受け付けないようにしている。
Even in such a case, during the convergence period from the disconnection from the basic arithmetic unit to the convergence period until the completion of the instruction, the additional arithmetic unit has the overtaking prevention control unit 25.
To arithmetic pipelines 22-1, 22-2, ..., 22
The overtaking prevention control signal changing unit 26A does not accept the information (overtaking prevention control signal) by the means for notifying the temporary interruption of the processing for -n.

【0096】付加演算器を使用する場合には、内部シー
ケンサについても、基本演算器部分と付加演算器部分と
に分割されている。付加演算器部分の内部シーケンサ
は、基本演算器部分の内部シーケンサから起動され、収
束期間に入る時点で基本演算器部分から切り離される旨
の通知を受ける。付加演算器部分の内部シーケンサは、
基本演算器部分から切り離されると収束のためのシーケ
ンスを起動する。
When the additional arithmetic unit is used, the internal sequencer is also divided into a basic arithmetic unit and an additional arithmetic unit. The internal sequencer of the additional arithmetic unit is activated from the internal sequencer of the basic arithmetic unit, and receives a notification that the internal sequencer of the additional arithmetic unit will be disconnected from the basic arithmetic unit when the convergence period starts. The internal sequencer of the additional computing unit is
When separated from the basic computing unit, the sequence for convergence is activated.

【0097】収束期間通知部26Bは、リード期間の終
了と収束期間開始との情報を付加演算器部分の内部シー
ケンサから受け取って、追越し防止制御信号変更部26
Aにより、収束期間以外のときは、追越し防止制御信号
をそのまま通過させるが、対応する演算パイプライン2
2−1,22−2,…,22−nの付加演算器に対する
収束期間の時には追越し防止制御信号を“0”に変更す
る。
The convergence period notifying section 26B receives the information about the end of the read period and the start of the convergence period from the internal sequencer of the additional arithmetic unit, and the overtaking prevention control signal changing section 26.
According to A, the passing control signal is passed as it is during the period other than the convergence period.
During the convergence period for the additional arithmetic units 2-1, 22-2, ..., 22-n, the overtaking prevention control signal is changed to "0".

【0098】基本演算器部分については、付加演算器部
分を切り離した後は、付加演算器部分が演算を完了する
まで、付加演算器部分を必要としない演算を実行可能と
して、命令発信/管理部27からの起動待ちとなる。付
加演算器部分が命令を完了し且つ基本演算器部分が付加
演算器部分を使用しない命令のリード処理期間を完了す
るか、付加演算器部分と基本演算器部分との双方ともに
命令の実行を完了していれば、その演算パイプライン2
2−1,22−2,…,22−nは、付加演算器を使用
する命令を実行可能になる。
Regarding the basic arithmetic unit, after the additional arithmetic unit is separated, the instruction transmitting / managing unit can execute the arithmetic that does not require the additional arithmetic unit until the additional arithmetic unit completes the arithmetic operation. Waiting for activation from 27. The additional computing unit completes the instruction and the basic computing unit completes the read processing period of the instruction that does not use the additional computing unit, or both the additional computing unit and the basic computing unit complete the execution of the instruction. If so, the operation pipeline 2
22-1, 22-2, ..., 22-n can execute an instruction using an additional arithmetic unit.

【0099】これにより、収束処理を行なう付加演算器
付きの演算パイプラインについても、従来、図15に示
すように、追越し防止制御信号の出力時には収束期間で
あっても完全に中断されていた処理が、本実施例では、
収束期間中にある演算パイプラインの付加演算器につい
ては変更された追越し防止制御信号を受けることによ
り、図16に示すように、中断されることなく実行され
るようになる。
As a result, as for the operation pipeline with the additional operation unit for performing the convergence processing, as shown in FIG. 15, conventionally, the processing which was completely interrupted even during the convergence period at the time of outputting the overtaking prevention control signal. However, in this embodiment,
By receiving the changed overtaking prevention control signal, the additional arithmetic unit of the arithmetic pipeline in the convergence period can be executed without interruption as shown in FIG.

【0100】〔付加演算器付き演算パイプラインの一
構成例およびその動作の説明〕 ここでは、付加演算器付き演算パイプラインの一例とし
て、図17に示すように、4段のステージから成るパイ
プライン式の基本演算器(図13に示した加算器と同様
構成のもの)34a〜34dと、4段のステージから成
るパイプライン式の付加演算器(図13に示した加算器
と同様構成のもの)35a〜35dとを組み合わせた複
合演算器36a〜36dを4つもつような総和演算パイ
プライン22Bを示す。
[Structural Example of Arithmetic Pipeline with Additional Arithmetic Unit and Description of Its Operation] Here, as an example of the arithmetic pipeline with an additional arithmetic unit, as shown in FIG. 17, a pipeline including four stages is shown. Expression-based arithmetic unit (having the same configuration as the adder shown in FIG. 13) 34a to 34d and a pipeline-type additional arithmetic unit (having the same configuration as the adder shown in FIG. 13) consisting of four stages ) 35a to 35d are combined with each other, and a total operation pipeline 22B having four complex operation units 36a to 36d is shown.

【0101】なお、ステージ段数や加算器の数について
は、処理装置毎に最適な段数が用意され、処理する命令
(検索演算命令等)によっては加算器を比較選択手段と
することもできる。また、前述したものと同様に、各演
算器(加算器)34a〜34dおよび35a〜35dの
第1ステージは桁合わせに先立つ指数比較処理、第2ス
テージは桁合わせ処理を実行する。第3ステージは加算
/減算処理を実行する。第4ステージは正規化処理であ
る。
With respect to the number of stages and the number of adders, an optimal number of stages is prepared for each processing device, and the adder can be used as the comparison / selection means depending on the instruction to be processed (search operation instruction, etc.). Further, similarly to the above-mentioned one, the first stage of each of the arithmetic units (adders) 34a to 34d and 35a to 35d executes the exponent comparison process prior to the digit alignment, and the second stage executes the digit alignment process. The third stage executes addition / subtraction processing. The fourth stage is a normalization process.

【0102】複合演算器36aはベクトル・レジスタ2
1中のデータ・エレメント番号の8による剰余が0と1
のエレメントを処理し、複合演算器36bはエレメント
番号の8による剰余が2と3のエレメントを処理し、複
合演算器36cはエレメント番号の8による剰余が4と
5のエレメントを処理し、複合演算器36dはエレメン
ト番号の8による剰余が6と7のエレメントを処理する
ように構成されている。
The complex computing unit 36a is the vector register 2
The remainder due to the data element number 8 in 1 is 0 and 1
, The composite arithmetic unit 36b processes the elements having the remainders 2 and 3 due to the element number 8, and the composite arithmetic unit 36c processes the elements having the remainders 4 and 5 due to the element number 8 to perform the composite arithmetic operation. The device 36d is configured to process the elements whose remainders by the element number 8 are 6 and 7.

【0103】また、各付加加算器35a〜35dの結果
を一つにまとめるために、付加加算器35b,付加加算
器35c,付加加算器35dから付加加算器35aに対
して結果を転送できるようになっている。そして、リー
ド処理期間には、基本演算器34a〜34dからなる基
本演算部34では、連続する2つのエレメントの和を求
めて、付加演算器35a〜35dからなる付加演算部3
5に転送する。付加演算部35は基本演算部34から受
け取った中間和を足し込む。リード期間が終了するとき
には、付加演算部内に4つの部分和が生成されている。
複合演算器36aを例にとると、この4つの部分和は、
Σ(E32i +E32i+1 ) ,Σ(E32i+8 +E32i+9 ),
Σ(E32i+16+E32 i+17),Σ(E32i+24+E32i+25
となる。ここで、Ei はエレメント番号iのデータ・エ
レメントの値である。
In order to combine the results of the additional adders 35a to 35d into one, the results can be transferred from the additional adder 35b, the additional adder 35c, and the additional adder 35d to the additional adder 35a. Has become. Then, during the read processing period, the basic arithmetic unit 34 including the basic arithmetic units 34a to 34d calculates the sum of two consecutive elements, and the additional arithmetic unit 3 including the additional arithmetic units 35a to 35d.
Transfer to 5. The additional calculation unit 35 adds the intermediate sum received from the basic calculation unit 34. At the end of the read period, four partial sums have been generated in the additional calculation unit.
Taking the complex computing unit 36a as an example, these four partial sums are
Σ (E 32i + E 32i + 1 ), Σ (E 32i + 8 + E 32i + 9 ),
Σ (E 32i + 16 + E 32 i + 17 ), Σ (E 32i + 24 + E 32i + 25 )
Becomes Here, E i is the value of the data element of the element number i.

【0104】収束期間に入ると、付加演算部35は基本
演算部34のデータバスからのデータを受け付けないよ
うにする。続いて、4つの部分和から中間結果を計算
し、最後に4つの中間結果から最終結果を計算する。複
合演算器36aを例にとって中間結果を求める手順を図
18により説明する。
When the convergence period starts, the additional arithmetic unit 35 stops accepting data from the data bus of the basic arithmetic unit 34. Subsequently, the intermediate result is calculated from the four partial sums, and finally the final result is calculated from the four intermediate results. The procedure for obtaining the intermediate result will be described with reference to FIG.

【0105】まず、演算順序を保証するために、部分和
Σ(E32i +E32i+1 ) が第1ステージ・レジスタ28
a上に来るまで空足しを行なう。その部分和は第1ステ
ージ・レジスタ28a上で2τ間ホールドされる。その
間に部分和Σ(E32i+8 +E 32i+9 )をもう一つの第1
ステージ・レジスタ28aにセットする。そして、部分
和Aの計算を開始する。
First, in order to guarantee the operation order, the partial sum
Σ (E32i+ E32i + 1) Is the first stage register 28
Do emptying until you come to the top. The partial sum is the first step
It is held for 2τ on the charge register 28a. That
Partial sum Σ (E32i + 8+ E 32i + 9) Another first
It is set in the stage register 28a. And part
The calculation of the sum A is started.

【0106】次に、部分和Σ(E32i+16+E32i+17)を
第1ステージ・レジスタ28aにセットし2τの間ホー
ルドする。その間に部分和Σ(E32i+24+E32i+25)を
もう一方の第1ステージ・レジスタ28aにセットす
る。そして、もう一つの部分和Bを計算する。部分和A
を第1ステージ・レジスタ28aに2τの間ホールド
し、その間に部分和Bをもう一方の第1ステージ・レジ
スタ28aにセットし、そして中間結果を計算する。
Next, the partial sum Σ (E 32i + 16 + E 32i + 17 ) is set in the first stage register 28a and held for 2τ. Meanwhile, the partial sum Σ (E 32i + 24 + E 32i + 25 ) is set in the other first stage register 28a. Then, another partial sum B is calculated. Partial sum A
Is held in the first stage register 28a for 2τ, while the partial sum B is set in the other first stage register 28a and the intermediate result is calculated.

【0107】収束期間における、この中間結果を求める
動作は、各付加演算器35a〜35dで並行して行なわ
れる。最終的な結果を求めるための演算は、付加演算器
35aで実行する。付加演算器35aでは、第1ステー
ジ・レジスタ28aに付加演算器35aの中間結果をホ
ールドし、付加演算器35bの中間結果がもう一方の第
1ステージ・レジスタ28aにセットされるのを待つ。
そして、付加演算器35aと付加演算器35bの中間結
果どうしを加算して中間結果Aを求める。この中間結果
Aは、第1ステージ・レジスタ28a上でホールドさ
れ、付加演算器35cの中間結果がもう一方の第1ステ
ージ・レジスタ28aにセットされるのを待つ。
The operation for obtaining the intermediate result during the convergence period is performed in parallel by each of the additional arithmetic units 35a to 35d. The calculation for obtaining the final result is executed by the additional calculator 35a. The additional arithmetic unit 35a holds the intermediate result of the additional arithmetic unit 35a in the first stage register 28a and waits for the intermediate result of the additional arithmetic unit 35b to be set in the other first stage register 28a.
Then, the intermediate results of the additional arithmetic unit 35a and the additional arithmetic unit 35b are added together to obtain an intermediate result A. The intermediate result A is held on the first stage register 28a and waits for the intermediate result of the additional arithmetic unit 35c to be set on the other first stage register 28a.

【0108】そして、中間結果Aと付加演算器35cの
中間結果とが加算されて中間結果Bが生成される。この
中間結果Bは、第1ステージ・レジスタ28aでホール
ドされ、付加演算器35dの中間結果がもう一方の第1
ステージ・レジスタ28aにセットされるのを待つ。そ
して、中間結果Bと付加演算器35dの中間結果とを加
算して、最終的な結果を生成する。
Then, the intermediate result A and the intermediate result of the additional operator 35c are added to generate the intermediate result B. This intermediate result B is held by the first stage register 28a, and the intermediate result of the additional arithmetic unit 35d is the other first result.
Wait for the stage register 28a to be set. Then, the intermediate result B and the intermediate result of the additional operator 35d are added to generate a final result.

【0109】このように、本発明の第2実施例のベクト
ル処理装置によれば、追越し防止制御部25から追越し
防止制御信号が出力された際に、演算パイプライン22
−1,22−2,…,22−n,22A,22Bが収束
処理のシーケンスを実行中で、収束期間条件が成立して
いる間は、追越し防止制御信号変更部26Aにより追越
し防止制御部25からの追越し防止制御信号が変更さ
れ、収束処理中の演算パイプライン22に対する追越し
防止制御が禁止されるので、追越し防止制御信号変更部
26Aおよび収束期間通知部26Bという極めて少量の
物量の増加によるだけで、収束期間におけるレジスタ・
リンクによる追越し制御のオーバヘッドを回避すること
ができ、性能の向上を実現することができる。
As described above, according to the vector processing device of the second embodiment of the present invention, when the overtaking prevention control signal is output from the overtaking prevention control unit 25, the arithmetic pipeline 22
-1, 22-2, ..., 22-n, 22A, 22B are executing the sequence of the convergence process, and while the convergence period condition is satisfied, the overtaking prevention control signal changing unit 26A causes the overtaking prevention control unit 25. The overtaking prevention control signal is changed, and the overtaking prevention control for the operation pipeline 22 during the convergence process is prohibited. In the convergence period,
It is possible to avoid the overhead of the overtaking control by the link and improve the performance.

【0110】[0110]

【発明の効果】以上詳述したように、本発明のベクトル
処理装置(請求項1,2)によれば、スループットの少
ない演算パイプラインを、1つのバンクスロットしか使
用しないメモリ・アクセス・パイプライン(ストア・パ
イプライン)と共用し、演算パイプラインをオーバラッ
プさせて実行することにより、演算スループットの大幅
な向上を実現できる効果がある。
As described above in detail, according to the vector processing device of the present invention (claims 1 and 2), a memory access pipeline using only one bank slot is used as an arithmetic pipeline having a low throughput. By sharing with (Store Pipeline) and executing the operation pipelines in an overlapping manner, there is an effect that a significant improvement in the operation throughput can be realized.

【0111】また、本発明のベクトル処理装置(請求項
3〜5)によれば、追越し防止制御部25から追越し防
止制御信号が出力された際に、演算パイプラインが収束
処理のシーケンスを実行中で、収束期間条件が成立して
いる間は、変更部追越し防止制御信号が変更され、収束
処理中の演算パイプラインに対する追越し防止制御が禁
止されるので、処理速度の大幅な改善を実現できる効果
がある。
Further, according to the vector processing device of the present invention (claims 3 to 5), when the overtaking prevention control signal is output from the overtaking prevention control unit 25, the arithmetic pipeline is executing the sequence of the convergence processing. Therefore, while the convergence period condition is satisfied, the change unit overtaking prevention control signal is changed and the overtaking prevention control for the operation pipeline during the convergence process is prohibited, so that a significant improvement in processing speed can be realized. There is.

【図面の簡単な説明】[Brief description of drawings]

【図1】第1の発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the first invention.

【図2】第2の発明の原理ブロック図である。FIG. 2 is a principle block diagram of a second invention.

【図3】本発明の第1実施例としてのベクトル処理装置
を示すブロック図である。
FIG. 3 is a block diagram showing a vector processing device as a first embodiment of the present invention.

【図4】第1実施例の動作を説明するためのタイミング
チャートである。
FIG. 4 is a timing chart for explaining the operation of the first embodiment.

【図5】第1実施例のバンク管理部の構成例を示すブロ
ック図である。
FIG. 5 is a block diagram showing a configuration example of a bank management unit of the first embodiment.

【図6】第1実施例の動作を説明するためのタイミング
チャートである。
FIG. 6 is a timing chart for explaining the operation of the first embodiment.

【図7】第1実施例の動作を説明するためのタイミング
チャートである。
FIG. 7 is a timing chart for explaining the operation of the first embodiment.

【図8】本発明の第2実施例としてのベクトル処理装置
を示すブロック図である。
FIG. 8 is a block diagram showing a vector processing device as a second embodiment of the present invention.

【図9】第2実施例における追越し防止制御信号変更部
の構成を示す回路図である。
FIG. 9 is a circuit diagram showing a configuration of an overtaking prevention control signal changing unit in the second embodiment.

【図10】第2実施例の動作を説明するための図であ
る。
FIG. 10 is a diagram for explaining the operation of the second embodiment.

【図11】第2実施例の動作を説明するための図であ
る。
FIG. 11 is a diagram for explaining the operation of the second embodiment.

【図12】第2実施例の演算パイプラインの構成例を示
すブロック図である。
FIG. 12 is a block diagram showing a configuration example of an arithmetic pipeline of the second embodiment.

【図13】第2実施例の加算器の構成例を示すブロック
図である。
FIG. 13 is a block diagram showing a configuration example of an adder of a second embodiment.

【図14】第2実施例の演算パイプラインの動作例を説
明するためのタイミングチャートである。
FIG. 14 is a timing chart for explaining an operation example of the arithmetic pipeline according to the second embodiment.

【図15】第2実施例の動作を説明するための図であ
る。
FIG. 15 is a diagram for explaining the operation of the second embodiment.

【図16】第2実施例の動作を説明するための図であ
る。
FIG. 16 is a diagram for explaining the operation of the second embodiment.

【図17】第2実施例の付加演算器付き演算パイプライ
ンの構成例を示すブロック図である。
FIG. 17 is a block diagram showing a configuration example of an arithmetic pipeline with an additional arithmetic unit according to the second embodiment.

【図18】第2実施例の付加演算器付き演算パイプライ
ンの動作例を説明するためのタイミングチャートであ
る。
FIG. 18 is a timing chart for explaining an operation example of the arithmetic pipeline with additional arithmetic unit according to the second embodiment.

【図19】一般的なバンクスロットのタイミング設定例
を示すタイミングチャートである。
FIG. 19 is a timing chart showing an example of general bank slot timing setting.

【符号の説明】[Explanation of symbols]

1−0,1−1,…,1−n ベクトル・レジスタ 2 メモリ・アクセス・パイプライン 2A ロード・パイプライン 2B ストア・パイプライン 3A,3B−0,3B−1,…,3B−m 書込レジス
タ 4A,4B−0,4C−0,4B−1,4C−1,…,
4B−m,4C−m読出レジスタ 5−0,5−1,…,5−m 演算パイプライン 6 命令制御部 7 バンク管理部 7a バンクスロット・カウンタ 11−1,11−2,11−3 管理レジスタ 12 バンクスロット割当回路 13 通知レジスタ 14 起動信号制御部 15 割算パイプライン 15a〜15f 割算器 20 主記憶部 21 ベクトル・レジスタ 22,22−1,22−2,…,22−n 演算パイプ
ライン 22A,22B 総和演算パイプライン 22a〜22d 加算器 23−1,23−2,…,23−m メモリ・アクセス
・パイプライン 23,23A ロード・パイプライン 23B ストア・パイプライン 24 主記憶部 25 追越し防止制御部 26 変更部 26A 追越し防止制御信号変更部 26B 収束期間通知部 26a ORゲート 26b ANDゲート 26c フリップフロップ 26d ANDゲート 26e,26f インバータ(NOTゲート) 27 命令発信/管理部 28a 第1ステージ・レジスタ 28b 第2ステージ・レジスタ 28c 第3ステージ・レジスタ 28d 第4ステージ・レジスタ 28e 転送用中継レジスタ 29 セレクタ 30 指数差計算手段 31 桁合わせ手段 32 加算/減算手段 33 正規化手段 34 基本演算部 34a〜34d 基本演算器 35 付加演算部 35a〜35d 付加演算器 36a〜36d 複合演算器
1-0, 1-1, ..., 1-n Vector register 2 Memory access pipeline 2A Load pipeline 2B Store pipeline 3A, 3B-0, 3B-1, ..., 3B-m Write Registers 4A, 4B-0, 4C-0, 4B-1, 4C-1, ...,
4B-m, 4C-m read register 5-0, 5-1, ..., 5-m operation pipeline 6 instruction control unit 7 bank management unit 7a bank slot counter 11-1, 11-2, 11-3 management Register 12 Bank slot allocation circuit 13 Notification register 14 Activation signal control unit 15 Division pipeline 15a to 15f Divider 20 Main storage unit 21 Vector register 22, 22-1, 22-2, ..., 22-n Operation pipe Lines 22A and 22B Summation operation pipelines 22a to 22d Adders 23-1, 23-2, ..., 23-m Memory access pipeline 23, 23A Load pipeline 23B Store pipeline 24 Main memory 25 Overtaking Prevention control unit 26 Change unit 26A Overtaking prevention control signal change unit 26B Convergence period notification unit 26a OR gate 26b AND gate 26c Flip-flop 26d AND gate 26e, 26f Inverter (NOT gate) 27 Command issuing / management unit 28a First stage register 28b Second stage register 28c Third stage register 28d Fourth stage register 28e Transfer Relay register 29 Selector 30 Exponent difference calculation means 31 Digit matching means 32 Addition / subtraction means 33 Normalization means 34 Basic operation unit 34a to 34d Basic operation unit 35 Additional operation unit 35a to 35d Additional operation device 36a to 36d Complex operation device

───────────────────────────────────────────────────── フロントページの続き (72)発明者 今野 勝彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 渥美 宏昭 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Katsuhiko Konno 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor, Hiroaki Atsumi 1015, Kamiodanaka, Nakahara-ku, Kawasaki, Kanagawa Prefecture Fujitsu Limited

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 インターリーブされた複数のバンク単位
に複数のエレメント・データを記憶するベクトル・レジ
スタ(1−0,…,1−n)と、 該ベクトル・レジスタ(1−0,…,1−n)の各エレ
メント・データをアクセスする複数の演算パイプライン
(5−0,…,5−m)および1つまたは複数のメモリ
・アクセス・パイプライン(2)と、 前記の演算パイプライン(5−0,…,5−m)および
メモリ・アクセス・パイプライン(2)が各バンク単位
をアクセスできるタイミングを示すバンクスロットを管
理するバンク管理部(7)とを有し、 前記の演算パイプライン(5−0,…,5−m)および
メモリ・アクセス・パイプライン(2)が該ベクトル・
レジスタ(1−0,…,1−n)の各バンク単位を順次
アクセスして各エレメント・データを処理するベクトル
処理装置において、 前記複数の演算パイプライン(5−0,…,5−m)の
中に、他の演算パイプラインに比べて演算スループット
の低い演算パイプライン(15)を少なくとも1つ有
し、 該バンク管理部(7)により、前記の演算パイプライン
(5−0,…,5−m)およびメモリ・アクセス・パイ
プライン(2)が該ベクトル・レジスタ(1−0,…,
1−n)をアクセスするための各アクセス・タイミング
を規定する際に、前記複数の演算パイプライン(5−
0,…,5−m)のうちの演算スループットの低い演算
パイプライン(15)が該ベクトル・レジスタ(1−
0,…,1−n)をアクセスするタイミングは、前記メ
モリ・アクセス・パイプライン(2)として割り付けら
れたタイミングを用いることを特徴とする、ベクトル処
理装置。
1. A vector register (1-0, ..., 1-n) for storing a plurality of element data in units of a plurality of interleaved banks, and the vector register (1-0, ..., 1-). n) a plurality of operation pipelines (5-0, ..., 5-m) for accessing each element data and one or more memory access pipelines (2), and the operation pipeline (5 -0, ..., 5-m) and a memory access pipeline (2), and a bank management unit (7) that manages a bank slot indicating a timing at which each bank unit can be accessed. (5-0, ..., 5-m) and the memory access pipeline (2)
In the vector processing device for sequentially accessing each bank unit of the registers (1-0, ..., 1-n) to process each element data, the plurality of operation pipelines (5-0, ..., 5-m) Has at least one operation pipeline (15) having a lower operation throughput than other operation pipelines, and the bank management unit (7) allows the operation pipelines (5-0, ..., 5-m) and the memory access pipeline (2) are connected to the vector registers (1-0, ...,
1-n), the plurality of arithmetic pipelines (5-
Of the 0, ..., 5-m), the operation pipeline (15) having a low operation throughput is the vector register (1-
0, ..., 1-n) is accessed by using the timing assigned as the memory access pipeline (2).
【請求項2】 前記複数の演算パイプライン(5−0,
…,5−m)のうちの演算スループットの低い演算パイ
プライン(15)が該ベクトル・レジスタ(1−0,
…,1−n)をアクセスするタイミングは、前記メモリ
・アクセス・パイプライン(2)のうちのストア・パイ
プライン(2B)が該ベクトル・レジスタ(1−0,
…,1−n)から主記憶部(20)へストア動作する読
み出しタイミングのバンクスロットに対して割り当てる
ことを特徴とする、請求項1記載のベクトル処理装置。
2. The plurality of arithmetic pipelines (5-0,
, 5-m), the operation pipeline (15) with a low operation throughput is the vector register (1-0,
, 1-n) is accessed by the store pipeline (2B) of the memory access pipeline (2) at the vector register (1-0,
, 1-n) is assigned to a bank slot at a read timing for performing a store operation from the main storage unit (20).
【請求項3】 インターリーブされた複数のバンク単位
に複数のエレメント・データを記憶するベクトル・レジ
スタ(21)と、 該ベクトル・レジスタ(21)上のデータを入力オペラ
ンドとするか、もしくは、演算結果を該ベクトル・レジ
スタ(21)に書き込む1つまたは複数の演算パイプラ
イン(22)と、 主記憶部(24)から該ベクトル・レジスタ(21)へ
データを転送する1つまたは複数のロード・パイプライ
ン(23)とを有し、 該ロード・パイプライン(23)から該ベクトル・レジ
スタ(21)へデータを転送する命令の実行中に、該ロ
ード・パイプライン(23)が該ベクトル・レジスタ
(21)に書き込んだデータを入力オペランドとする後
続の演算命令を演算パイプライン(22)が実行する場
合、命令の実行順序を保証するために、ロード・パイプ
ライン(23)の実行を後続の演算パイプライン(2
2)の処理が追い越す条件を検出した時に、全ての演算
パイプライン(22)の実行を一時中断する追越し防止
制御部(25)をそなえたベクトル処理装置において、 該ベクトル・レジスタ(21)からのデータ供給を受け
るリード処理期間と、該リード処理期間後に結果をまと
め上げる収束期間とを必要とするベクトル命令につい
て、該当ベクトル命令の収束処理を実行中の演算パイプ
ライン(22)に対する追越し防止制御を行なわないよ
うに、該追越し防止制御部(25)から出力される追越
し防止制御信号を変更する変更部(26)がそなえられ
ていることを特徴とする、ベクトル処理装置。
3. A vector register (21) for storing a plurality of element data in a plurality of interleaved banks, and data on the vector register (21) as an input operand, or an operation result. One or more operation pipelines (22) for writing data to the vector register (21) and one or more load pipes for transferring data from the main memory (24) to the vector register (21) A line (23), the load pipeline (23) is configured to transfer the data from the load pipeline (23) to the vector register (21) during execution of an instruction. Execution order of instructions when the operation pipeline (22) executes the subsequent operation instruction whose input operand is the data written in 21) In order to guarantee the order, the execution of the load pipeline (23) is executed by the subsequent operation pipeline (2
In the vector processing device having the overtaking prevention control unit (25) for temporarily suspending the execution of all the operation pipelines (22) when the condition of the process of 2) overtaking is detected, the vector register (21) For a vector instruction that requires a read processing period for receiving the data supply and a convergence period for collecting the results after the read processing period, overtaking prevention control for the operation pipeline (22) that is executing the convergence processing of the vector instruction is performed. A vector processing device comprising a changing unit (26) for changing an overtaking prevention control signal output from the overtaking prevention control unit (25) so as not to perform.
【請求項4】 該変更部(26)が、該演算パイプライ
ン(25)にそなえられていることを特徴とする、請求
項3記載のベクトル処理装置。
4. The vector processing apparatus according to claim 3, wherein the changing unit (26) is provided in the arithmetic pipeline (25).
【請求項5】 該当ベクトル命令の収束処理を実行中の
演算パイプライン(22)が、基本演算器と収束を処理
する付加演算器とを有する構成のもので、収束処理を該
付加演算器により実行し、収束処理中、該基本演算器に
より後続の他の演算命令を実行できるものである場合に
は、収束処理中、該変更部(26)が、該付加演算器に
対してのみ追越し防止制御を行なわないように、該追越
し防止制御信号を変更することを特徴とする、請求項3
または4に記載のベクトル処理装置。
5. An arithmetic pipeline (22) executing a convergence process of a corresponding vector instruction has a basic arithmetic unit and an additional arithmetic unit for processing convergence, and the convergence process is performed by the additional arithmetic unit. If the basic operation unit can execute another subsequent operation instruction during the convergence process, the changing unit (26) prevents overtaking only for the additional operation unit during the convergence process. 4. The overtaking prevention control signal is changed so as not to perform control.
Alternatively, the vector processing device according to item 4.
JP33811793A 1993-12-28 1993-12-28 Vector processor Withdrawn JPH07200542A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33811793A JPH07200542A (en) 1993-12-28 1993-12-28 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33811793A JPH07200542A (en) 1993-12-28 1993-12-28 Vector processor

Publications (1)

Publication Number Publication Date
JPH07200542A true JPH07200542A (en) 1995-08-04

Family

ID=18315074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33811793A Withdrawn JPH07200542A (en) 1993-12-28 1993-12-28 Vector processor

Country Status (1)

Country Link
JP (1) JPH07200542A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043627B2 (en) 2000-11-08 2006-05-09 Hitachi, Ltd. SIMD operation system capable of designating plural registers via one register designating field
JP2015041176A (en) * 2013-08-21 2015-03-02 日本電気株式会社 Processor and processing method of processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043627B2 (en) 2000-11-08 2006-05-09 Hitachi, Ltd. SIMD operation system capable of designating plural registers via one register designating field
JP2015041176A (en) * 2013-08-21 2015-03-02 日本電気株式会社 Processor and processing method of processor

Similar Documents

Publication Publication Date Title
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4507728A (en) Data processing system for parallel processing of different instructions
CN100447738C (en) Digital data processing apparatus having multi-level register file
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
CA1211852A (en) Computer vector multiprocessing control
US5418970A (en) Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content
JP2000181878A (en) Common memory type vector processing system, its control method and storage medium stored with control program for vector processing
US5165038A (en) Global registers for a multiprocessor system
JP7264897B2 (en) Memory device and method for controlling same
CN103649932B (en) The scattered distribution of resource and for supporting by the interconnection structure of multiple engine execute instruction sequences
JPH04336378A (en) Information processor
JP2021108104A (en) Partially readable/writable reconfigurable systolic array system and method
JP2008181551A (en) Vector tailgating for computer provided with vector register
EP0295646B1 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JP2518293B2 (en) Data Flow Processor
US11093276B2 (en) System and method for batch accessing
JPH07200542A (en) Vector processor
US7895413B2 (en) Microprocessor including register renaming unit for renaming target registers in an instruction with physical registers in a register sub-file
JPH10502756A (en) Chunk chains for vector processors
JPS6156546B2 (en)
JP5392810B2 (en) Instruction issue control device and instruction issue control method
Liou Design of pipelined memory systems for decoupled architectures
JPH0769896B2 (en) Vector processing system
JP3182177B2 (en) Central numerical processing device having vector operation processing function and vector operation processing method
JP3389261B2 (en) Data-driven information processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010306