JPS60222969A - Pipeline controlling circuit - Google Patents

Pipeline controlling circuit

Info

Publication number
JPS60222969A
JPS60222969A JP59079434A JP7943484A JPS60222969A JP S60222969 A JPS60222969 A JP S60222969A JP 59079434 A JP59079434 A JP 59079434A JP 7943484 A JP7943484 A JP 7943484A JP S60222969 A JPS60222969 A JP S60222969A
Authority
JP
Japan
Prior art keywords
vector
pipeline
data
instruction
vector register
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.)
Granted
Application number
JP59079434A
Other languages
Japanese (ja)
Other versions
JPH0321941B2 (en
Inventor
Nobuo Uchida
内田 信男
Shoji Nakatani
中谷 彰二
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 JP59079434A priority Critical patent/JPS60222969A/en
Publication of JPS60222969A publication Critical patent/JPS60222969A/en
Publication of JPH0321941B2 publication Critical patent/JPH0321941B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Abstract

PURPOSE:To improve the processing capacity of a vector data processor by controlling only an operating pipeline by a clock stop, and reading out a data by a free run, as for an access pipeline. CONSTITUTION:In a vector data processor, when a load data from a main storage device 1 is exhausted, a pipeline control part 6 executes a clock stop to a read-out pipeline based on various chain information from an instruction control part 5. That is to say, it is operated so as to keep a sequential property between a vector load instruction and a vector operating instruction. In this case, the clock stop is executed to only an operating pipeline LAP, and as for an access pipeline STP being other read-out pipeline, the control is executed so as to make it a free run. In this way, the regular vector store processing is executed continuously, a rise of the vector store instruction can be executed quickly, and the processing capacity of the vector data can be improved.

Description

【発明の詳細な説明】 +al 発明の技術分野 本発明は、パイプライン方式を用いたベクトルデータ処
理装置において、ベクトルレジスタに連鎖が生じた時の
パイプライン制御回路に関する。
DETAILED DESCRIPTION OF THE INVENTION +al Technical Field of the Invention The present invention relates to a pipeline control circuit when chaining occurs in vector registers in a vector data processing device using a pipeline method.

(bl 技術の背景 第1図に、本発明に関連するベクトルデータ処理装置の
概略図を示す。
(bl Technical Background FIG. 1 shows a schematic diagram of a vector data processing device related to the present invention.

ベクトルデータ処理のプロセスとしては、先ず主記憶装
置1からデータバッファ2を通して、ベクトルデータが
ベクトルレジスタ3にロードされる。次に、該ベクトル
レジスタ3上のロードデータが演算パイプライン4に供
給され、演算を施された後、その演算結果が再びベクト
ルレジスタ3上に書き込まれると云うものである。
In the vector data processing process, vector data is first loaded from the main memory 1 through the data buffer 2 into the vector register 3. Next, the load data on the vector register 3 is supplied to the arithmetic pipeline 4, and after being subjected to arithmetic operations, the result of the arithmetic operation is written onto the vector register 3 again.

今、ここで、次の場合について考えて見る。即ち、ロー
ド命令の次の命令が、演算命令、或いはストア命令であ
り、且つこの命令が上記ロード命令によって、ベクトル
レジスタ3上に書き込まれたデータを使用する場合であ
る。
Now, let's consider the following case. That is, this is the case when the instruction following the load instruction is an operation instruction or a store instruction, and this instruction uses the data written on the vector register 3 by the load instruction.

このような状態を ベクトルレジスタが連鎖している”
と言い、第2図のように表す。
Vector registers are chained together in such a state.”
It is expressed as shown in Figure 2.

この場合においても、ベクトルロードデータの全要素が
ベクトルレジスタ3に書き込まれてから、次の演算、或
いはストア命令を起動させれば全く問題はなく、後述す
る本発明の手法も必要なくなる。
Even in this case, if the next operation or store instruction is started after all elements of the vector load data are written into the vector register 3, there is no problem at all, and the method of the present invention described later is not necessary.

所が、上記方法でベクトル命令を実行しようとすると、
第3図に示すように、ベクトルロード命令の完了迄、次
の命令を実行するパイプラインは待たされることになり
、大量のベクトルデータを一命令で処理するベクトルデ
ータ処理装置においては、著しい性能の低下を招くこと
になる。
However, when I try to execute a vector instruction using the above method,
As shown in Figure 3, the pipeline that executes the next instruction is forced to wait until the completion of the vector load instruction, which significantly reduces performance in vector data processing devices that process a large amount of vector data with one instruction. This will lead to a decline.

この為、ベクトルデータ処理装置においては、通常第2
図に示すように、ロードパイプラインと演算(又は、ス
トア)パイプライン4を並行して動作させるようにして
いる。
For this reason, in vector data processing devices, the second
As shown in the figure, the load pipeline and the calculation (or store) pipeline 4 are operated in parallel.

この場合においても、ベクトルロード命令を実行中、主
記憶装w1から毎サイクル確実に、ベクトルレジスタ3
上にベクトルデータが供給されれば別に問題はないが、
主記憶装置1をアクセスする際には、主記憶装置1を構
成するバンクをアクセスする場合に生ずるバンク衝突や
、データバスの競合の結果、優先順位が低くてベクトル
データを読み取ることができない場合があり、この時は
ベクトルデータが毎サイクル供給されないことになる。
Even in this case, while the vector load instruction is being executed, the vector register 3 is reliably loaded from the main memory w1 every cycle.
There is no problem if vector data is supplied above, but
When accessing the main memory device 1, vector data may not be read due to low priority as a result of bank collision or data bus contention that occurs when accessing the banks that make up the main memory device 1. Yes, and in this case vector data will not be supplied every cycle.

所が、演算(又は、ストア)パイプライン4では、毎サ
イクル、ベクトルデータの処理を続けようとする。この
ことは、何れはベクトルレジスタ3上のロードデータは
個渇し、正常な演算(又は。
However, the operation (or store) pipeline 4 attempts to continue processing vector data every cycle. This means that the load data on the vector register 3 will eventually run out and normal operations (or.

ストア)処理ができなくなることを意味する。store) processing will no longer be possible.

そこで、このような場合に対処する為に必要なベクトル
データが、ベクトルレジスタ3上にロードされるのを待
つ意味で、演算(又は、ストア)パイプライン4を一定
のサイクルだけ停止させ、ベクトルレジスタ3よりベク
トルデータが読み出されるのを一時的に中断するような
制御が必要になってくる。
Therefore, in order to wait for the vector data necessary to deal with such a case to be loaded onto the vector register 3, the calculation (or store) pipeline 4 is stopped for a certain number of cycles, and the vector data is loaded into the vector register 3. 3, it becomes necessary to control the reading of vector data temporarily.

このような制御を可能とする為に、第4図のような構成
を考える。第4図において、1〜4は第1図で説明した
ものと同じものであり、5が命令制御部、6がパイプラ
イン制御部である。
In order to make such control possible, consider a configuration as shown in FIG. In FIG. 4, 1 to 4 are the same as those explained in FIG. 1, 5 is an instruction control section, and 6 is a pipeline control section.

ここで、主記憶装置lからベクトルレジスタ3へのロー
ドデータのバス幅は、複数エレメント分あるものとし、
又、ベクトルレジスタ3へのデータ書き込みタイミング
は規定されているものとする。この為には、主記憶装置
lとベクトルレジスタ3の間にデータバッファ2を設け
て、ベクトルデータを一時保持しておく必要がある。こ
の時、該データバッファ2は一定のサイクル数だけ、ベ
クトルデータを保持できるものとする。以下、上記中断
制御の概略を説明する。
Here, it is assumed that the bus width of the load data from the main memory device l to the vector register 3 is equal to multiple elements.
It is also assumed that the timing of writing data to the vector register 3 is specified. For this purpose, it is necessary to provide a data buffer 2 between the main memory device 1 and the vector register 3 to temporarily hold the vector data. At this time, it is assumed that the data buffer 2 can hold vector data for a certain number of cycles. An outline of the above interruption control will be explained below.

先ず、命令制御部5からパイプライン制御部6に各種連
鎖情報が送出され、この情報に基づいてパイプライン制
御部6は演算(又は、ストア)パイプラインを停止する
かどうかを決定する。
First, various chain information is sent from the instruction control section 5 to the pipeline control section 6, and based on this information, the pipeline control section 6 determines whether to stop the operation (or store) pipeline.

該連鎖情報には、■°ベクトルレジスタ書き込み開始信
号°、■°ベクトルレジスタ書き込み終了信号゛、■°
エレメント有効化信号°及び■°ベクトルレジスタ連連
鎖検出信号環がある。
The chain information includes ■°vector register write start signal°, ■°vector register write end signal゛, ■°
There are element enable signals ° and ■ ° vector register chain detection signal ring.

第5図に示すように、■はベクトルレジスタ3に、最初
のエレメントが書き込まれるタイミングでオンとなる信
号であり、■は最後のエレメントが書き込まれるタイミ
ングでオンとなる信号であり、■は書き込まれるエレメ
ント声(有効であることを示す信号である。従って、■
〜■の間で■がオンになると、ベクトルロードデータが
連続してベクトルレジスタ3に送られていない状態であ
ることを意味する。■は演算(又は、ストア)パイプラ
イン4がベクトルレジスタ3の最初のエレメントを読み
出そうとするタイミングでオンとなる信号である。よっ
て、■〜■の信号は命令制御部5からパイプライン制御
部6へ、毎サイクル送出され、その度に演算(又は、ス
トア)パイプライン4を停止させるかどうかが決められ
る。
As shown in Figure 5, ■ is a signal that turns on at the timing when the first element is written to the vector register 3, ■ is a signal that turns on at the timing when the last element is written, and ■ is a signal that turns on at the timing when the last element is written. element voice (signal indicating that it is valid. Therefore, ■
When ■ is turned on between ~■, it means that the vector load data is not being continuously sent to the vector register 3. 3 is a signal that turns on at the timing when the operation (or store) pipeline 4 is about to read the first element of the vector register 3. Therefore, the signals (1) to (2) are sent from the instruction control section 5 to the pipeline control section 6 every cycle, and it is determined each time whether or not to stop the operation (or store) pipeline 4.

・前述したように、ベクトルレジスタ3にベクトルデー
タを書き込むタイミング、及びベクトルレジスタ3から
ベクトルデータを読み出すタイミングはエレメントによ
り固定であるから、一旦停止すると、次のタイミングが
来る迄、演算(又は、ストア)パイプライン4は停止し
た侭であり、その間に主記憶装置1より読み出されたベ
クトルデータはへクトルレジスタ3には書き込まれない
で、データバッファ2に保持されるように動作する。
- As mentioned above, the timing to write vector data to the vector register 3 and the timing to read vector data from the vector register 3 are fixed depending on the element, so once it is stopped, the operation (or storage) will continue until the next timing. ) The pipeline 4 is stopped, and the vector data read from the main memory 1 during this period is not written to the vector register 3 but operates to be held in the data buffer 2.

そして、停止が解除になった時、ベクトルレジスタ3へ
のベクトルデータの書き込み、及び読み出しが開始され
る。このように制御することにより、ベクトルロード命
令とベクトル演算(又は、ストア)命令との順序性を保
つことができる。
Then, when the stop is released, writing and reading vector data to and from the vector register 3 is started. By controlling in this manner, the order of the vector load instruction and the vector operation (or store) instruction can be maintained.

ここで、主記憶装置1からベクトルレジスタ3に書き込
むタイミングが固定であることの意味を詳しく説明する
。ベクトルレジスタ3は複数個のバンクと呼ばれる部分
に分かれており、それぞれのバンクに書き込むタイミン
グは規定されている。
Here, the meaning of the fixed timing of writing from the main memory device 1 to the vector register 3 will be explained in detail. The vector register 3 is divided into a plurality of parts called banks, and the timing of writing to each bank is defined.

今、−例として8個のバンクに分けられているベクトル
レジスタ3を第6図に示し、それぞれのバンクに書き込
むタイミングをTO,TI、−一一一−−,T7とする
。TOはバンクOに書き込むタイミングを示し、T1は
バンク1に書き込むタイミングであることを意味する。
As an example, FIG. 6 shows the vector register 3 divided into eight banks, and the timings for writing to each bank are assumed to be TO, TI, -111, and T7. TO indicates the timing to write to bank O, and T1 means the timing to write to bank 1.

そして、T7でバンク7に書き込むと、次はTOへ戻り
、バンク0に書き込みを行い、以後同じことを繰り返し
て、順次各バンクに書き込むように動作する。
After writing to bank 7 at T7, the process returns to TO and writes to bank 0, and thereafter the same process is repeated to sequentially write to each bank.

この時(即ち、T7からTOに戻った時)、当然ベクト
ルレジスタ3をアクセスするアドレスは更新(+1)さ
れる。ここで、若し、該ベクトルレジスタ3に対して主
記憶装置1からベクトルデータが供給されなくなった時
(但し、非同期に起きる)、次のバンクに書き込むこと
はできないから、この場合は8サイクル待たなければな
らないことになる。そして、この時は上記アドレスの更
新は抑止される。
At this time (that is, when returning from T7 to TO), the address that accesses the vector register 3 is of course updated (+1). Here, if vector data is no longer supplied from the main memory device 1 to the vector register 3 (however, this happens asynchronously), it is not possible to write to the next bank, so in this case, wait 8 cycles. It will have to be done. At this time, updating of the address is suppressed.

例えば、若しT2のタイミングでバンク2に書き込んだ
直後に、前述のエレメント有効化信号■がオフとなった
と仮定する。該エレメント有効化信号■の無効化が1サ
イクルで終わったとしても、今度書き込むタイミングは
T4であり、バンク4に書き込むことはできるが、これ
ではバンク3を飛び越してバンク4に書き込んでいるこ
とになり、順次へクトルレジスタ3の各バンクに書き込
んでいることにはならない。
For example, assume that immediately after writing to bank 2 at timing T2, the element enable signal 2 is turned off. Even if the invalidation of the element enable signal ■ is completed in one cycle, the next write timing is T4, and it is possible to write to bank 4, but this means that bank 3 is skipped and data is written to bank 4. Therefore, it does not mean that each bank of the hector register 3 is written in sequence.

従って、主記位装ff1lからベクトルレジスタ3に対
するデータ転送の中断が1サイクルだけであっても余り
意味を持たないことになる。その為、次のT3のタイミ
ングが巡回してくる迄(即ち、本例では8サイクル)、
当該書き込み動作を停止するように制御され、この間の
主記憶装置l、からのベクトルデータはデータバッファ
2に蓄積されることになる。
Therefore, even if the data transfer from the main storage device ff1l to the vector register 3 is interrupted for only one cycle, it does not have much meaning. Therefore, until the next T3 timing comes around (that is, 8 cycles in this example),
The write operation is controlled to be stopped, and the vector data from the main memory device l during this period is stored in the data buffer 2.

この結果、該ベクトルレジスタ3からベクトルロードデ
ータを読み出す演算(又は、ストア)パイプラインも、
上記8サイクルの間、読み出し動作を中断する必要があ
るが、基本的には当該読み出し動作パイプライン(即ち
、演算パイプラインと、ストアパイプライン)を停止さ
せるのが原則であった。
As a result, the operation (or store) pipeline that reads vector load data from the vector register 3 also
Although it is necessary to interrupt the read operation during the above eight cycles, the basic principle is to stop the read operation pipeline (that is, the operation pipeline and the store pipeline).

本発明は、例えばベクトルロード命令によって、主記憶
装置1からベクトルレジスタ3にデータ転送が行われて
いる時に、該データ転送の中断が発生すると、例え1サ
イクルの中断であっても、1パイプラインサイクル(例
えば、8サイクル)の間、データ転送の中断を行って、
次のサイクルからベクトルレジスタ3にデータ転送を再
開するような制御機構を備えているベクトルデータ処理
装置において、該ベクトルレジスタが連鎖している場合
、次の読み出し動作パイプラインの内、演算パイプライ
ンのみを停止させるパイプライン制御回路に関係してい
る。
In the present invention, when data transfer is being performed from the main memory 1 to the vector register 3 by a vector load instruction, for example, and an interruption in the data transfer occurs, even if the interruption is for one cycle, one pipeline suspending data transfer for a cycle (e.g., 8 cycles);
In a vector data processing device equipped with a control mechanism that restarts data transfer to vector register 3 from the next cycle, if the vector registers are chained, only the arithmetic pipeline of the next read operation pipeline It is related to the pipeline control circuit that stops the

(C) 従来技術と問題点 上記のように、従来技術においては、前記レジスタ連鎖
状態の時、主記憶装置1からのデータの供給が行われな
くなると、総てのベクトルレジスタ読み出しパイプライ
ンに対して、クロックストップを行うことにより、当該
読み出しパイプラインの動作を停止させていた。
(C) Prior Art and Problems As mentioned above, in the prior art, when data is not supplied from the main memory 1 in the register chain state, all vector register read pipelines are Then, by stopping the clock, the operation of the read pipeline was stopped.

この場合、演算パイプライン4に関しては、このように
制御しても、通常のパイプライン制御に大きな影響はな
い。
In this case, even if the arithmetic pipeline 4 is controlled in this way, it will not have a large effect on normal pipeline control.

即ち、該演算パイプライン4においては、演算された結
果を格納する対象かへクトルレジスタ3であり、演算結
果は無条件でベクトルレジスタ3に格納されるのが普通
である。
That is, in the arithmetic pipeline 4, the vector register 3 is the target for storing the result of the operation, and the result of the operation is normally stored in the vector register 3 unconditionally.

然しなから、ストアパイプラインのように、ベクトルレ
ジスタ3から読み出されたデータが主記憶装置1に格納
される場合、主記憶制御装置に対してアクセス要求を送
出し、該要求が受け付けられた後に、パイプライン制御
部6に対して転送されてくる[メモリ書き込み許可信号
」を受信してからでないと、該主記憶装置1にデータを
転送することができない。
However, when data read from the vector register 3 is stored in the main memory device 1 as in the store pipeline, an access request is sent to the main memory control device and the request is accepted. Data cannot be transferred to the main storage device 1 until a "memory write permission signal" transferred to the pipeline control unit 6 is received later.

そして、該「メモリ書き込み許可信号」が、パイプライ
ン制御部6に返ってくる迄にはかなりのマシンサイクル
数が必要であり、その時点からベクトルレジスタのデー
タ読み出しを実行したのでは、処理能力上大きな損失を
招くことになる。
It takes a considerable number of machine cycles until the "memory write permission signal" returns to the pipeline control unit 6, and reading data from the vector register from that point on is not practical due to processing capacity. This will result in big losses.

又、前述のように、ベクトルレジスタを、読み出しパイ
プラインがアクセスできるタイミングは規定されており
、最悪の場合、「メモリ書き込み許可信号」を受信して
から7サイクル(8インタリーブの場合)待って、8サ
イクル目において始めてベクトルレジスタを読み出す場
合もあり、且つアクセス要求が受けイ1けられてから、
メモリへの書き込み迄のサイクル数が不定であったり、
メモリアクセス制御が複雑になる問題がある。
Also, as mentioned above, the timing at which the read pipeline can access the vector register is stipulated, and in the worst case, it waits 7 cycles (in the case of 8 interleaving) after receiving the "memory write permission signal". There are cases where the vector register is read for the first time in the 8th cycle, and after the access request is received,
The number of cycles until writing to memory is undefined, or
There is a problem that memory access control becomes complicated.

そこで、現在のベクトルデータ処理装置においては、前
述のように、主記憶装置1とベクトルレジスタ3との間
に、何段かのデータバッファ2を設けておき、例えばス
トア処理の場合、決められたマシンサイクル数の間(ア
クセス要求を出してからプライオリティが取られ、パイ
プライン制御部6に上記「メモリ書き込み許可主記憶装
置」が返ってくる迄の時間)に、ベクトルデータをデー
タバッファに読み出せることが確実であると云う条件の
元で、アクセス要求を主記憶装置1に送出するように制
御すると同時に、上記ベクトルレジスタ3からストアデ
ータを上記データバッファ2に読み出し、該「メモリ書
き込み許可信号」が返ってきた時に、該データバッファ
2を読み出して、主記憶装置1に該データを転送するよ
うにしているのである。
Therefore, in current vector data processing devices, as mentioned above, several stages of data buffers 2 are provided between the main memory 1 and the vector register 3. For example, in the case of store processing, a predetermined Vector data can be read into the data buffer during the number of machine cycles (the time from when an access request is issued until the priority is taken and the above-mentioned "memory write permission main storage device" is returned to the pipeline control unit 6). Under the condition that it is certain, the access request is controlled to be sent to the main storage device 1, and at the same time, the store data is read from the vector register 3 to the data buffer 2, and the "memory write permission signal" is transmitted. When the data is returned, the data buffer 2 is read out and the data is transferred to the main storage device 1.

然しながら、前述のように、ベクトルレジスタ3からの
読み出しタイミングは規定されているので、その分を先
行して、主記憶装置1に対するアクセス要求の発信を先
行させることはできる。
However, as described above, since the read timing from the vector register 3 is specified, it is possible to advance the access request to the main storage device 1 by that amount in advance.

上記のような制御を行っているベクトルデータ処理装置
において、若し、上記のように、全読み出しパイプライ
ンを停止させてしまうと、ベクトルレジスタ3からデー
タバッファ2への読み出しバスは、クロックストップに
より、総て凍結されてしまう。
In a vector data processing device that performs the above control, if all read pipelines are stopped as described above, the read bus from vector register 3 to data buffer 2 will be interrupted due to clock stop. , everything is frozen.

従って、この時点で既に送信されてしまったアクセス要
求、或いはプライオリティが既に取られてしまったアク
セス要求分のデータに関しては、規定サイクル内にデー
タバッファ2に供給できる保障はなくなる。
Therefore, there is no guarantee that data for access requests that have already been transmitted or for which priority has been taken can be supplied to the data buffer 2 within the specified cycle.

このことは、クロックストップの状態が、いつ解除され
るか全く予想できない為であり、この従来方式の制御方
法では、データ変化が起きる可能性があることになる。
This is because it is completely unpredictable when the clock stop state will be released, and with this conventional control method, there is a possibility that data changes will occur.

若し、あえて、上記のような全読み出しパイプラインを
クロックストップ制御により停止させるとすれば、デー
タバッファ2にデータを、予め読み出しておき、該デー
タバッファ2に存在するデータについてのみ、アクセス
要求を送出するようにしなければならず、パイプライン
制御部6におけるオーバヘッドが大きくなることは明ら
かである。
If we dare to stop all the read pipelines as described above by clock stop control, we can read data into data buffer 2 in advance and issue access requests only for the data existing in data buffer 2. It is clear that the overhead in the pipeline control unit 6 will be large.

(dl 発明の目的 本発明は上記従来の欠点に鑑み、ベクトルレジスタ読み
出しパイプラインの内、演算パイプラインのみをクロッ
クストップにより制御し、アクセスパイプラインについ
ては、クロックストップ制御を行わず、フリーランでデ
ータを読み出す方法を提供することを目的とするもので
ある。
(dl Purpose of the Invention In view of the above-mentioned conventional drawbacks, the present invention controls only the arithmetic pipeline of the vector register read pipeline by clock stop, and the access pipeline is free-run without clock stop control. The purpose is to provide a method for reading data.

tel 発明の構成 そしてこの目的は、本発明によれば、1つ乃至複数個の
エレメントを同時にアクセス可能とするベクトルレジス
タと、該ベクトルレジスタ間で演算を行う演算パイプラ
インと、記憶装置と上記へクトルレジスク間でデータ転
送を行う為のアクセスパイプラインとを備え、上記ベク
トルレジスタが1つ乃至複数個のバンクに分けられ、そ
れぞれのバンクをアクセスするタイミングが規定され、
上記へクトルレジスタと上記記憶装置との間にデータバ
ッファを有するベクトルデータ処理装置において、上記
へクトルレジスタヘロードする命令と、上記へクトルレ
ジスタを読み出す命令とによって、ベクトルレジスタが
連鎖状態にある時で、上記記憶装置からのロードデータ
が個渇した時、読み出し動作パイプラインの内の演算パ
イプラインのみをクロックストップさせる方法を提供す
ることによって達成され、例えば、ベクトルストア命令
と全く関連のない他のベクトル命令において、レジスタ
連鎖中にクロックストップの状態が発生しても、当該ベ
クトルストア命令は、何等の影響を受けることなく、通
常のベクトルストア動作を続けることができ、ベクトル
データ処理装置の処理能力の低下を防ぐ効果がある。又
、ストアアクセスパイプラインはフリーラン状態である
ので、ベクトルストア命令の立ち上がりを早くすること
ができる。
tel Structure and object of the invention According to the present invention, there is provided a vector register that allows one or more elements to be accessed simultaneously, an arithmetic pipeline that performs an operation between the vector registers, a storage device, and the above. an access pipeline for transferring data between vector registers, the vector registers are divided into one or more banks, and the timing for accessing each bank is defined;
In a vector data processing device having a data buffer between the hector register and the storage device, when the vector registers are in a chained state due to an instruction to load the hector register and an instruction to read the hector register. This is achieved by providing a method of clock-stopping only the arithmetic pipeline in the read operation pipeline when the load data from the storage device runs out. In a vector instruction, even if a clock stop condition occurs during register chaining, the vector store instruction can continue normal vector store operation without being affected in any way, and the processing of the vector data processing device It has the effect of preventing a decline in ability. Furthermore, since the store access pipeline is in a free running state, the startup of the vector store instruction can be made faster.

([1発明の実施例 本発明の主旨を要約すると、本発明は、主記憶WilF
とベクトルレジスタの間にデータバッファを有するベク
トルデータ処理装置において、ベクトルレジスタに対し
てデータをロードするベクトル命令と、該ベクトルレジ
スタを読み出すベクトル命令とによって、ベクトルレジ
スタがレジスタ連鎖状態にある時において、上記主記憶
装置からのロードデータが個渇した時、読み出しパイプ
ラインの内、演算パイプラインのみをクロックストップ
して、該ベクトルレジスタに対するアクセス制御を行う
ようにしたものである。
([1 Embodiment of the Invention To summarize the gist of the present invention, the present invention has a main memory WilF
In a vector data processing device having a data buffer between a vector register and a vector register, when the vector register is in a register chain state due to a vector instruction to load data to the vector register and a vector instruction to read the vector register, When the load data from the main memory device runs out, only the arithmetic pipeline among the read pipelines is clock-stopped to control access to the vector register.

以下本発明の実施例を図面によって詳述する。Embodiments of the present invention will be described in detail below with reference to the drawings.

第7図は本発明を適用したベクトルデータ処理装置の構
成を示した図であり、第8図は従来方式によるアクセス
パイプラインの動作の概略をタイムチャートで示した図
であり、第9図は本発明を実施した場合のアクセスパイ
プラインの動作の概略をタイムチャートで示した図であ
る。
FIG. 7 is a diagram showing the configuration of a vector data processing device to which the present invention is applied, FIG. 8 is a time chart showing an outline of the operation of the access pipeline according to the conventional method, and FIG. FIG. 3 is a time chart showing an outline of the operation of the access pipeline when the present invention is implemented.

第7図において、1〜6は第4図で説明したものと同じ
ものであり、7は主記憶制御部である。
In FIG. 7, 1 to 6 are the same as those explained in FIG. 4, and 7 is a main memory control section.

本図において、パイプライン制御部6はパイプラインを
流れるデータの制御を行う他、主記憶制御部7に対して
アクセス要求(c)を送出し、前記「メモリ書き込み許
可信号」(e)を受け取り、データバッファ2上のデー
タを主記憶装置7へ読み出す制御、更に命令制御部5か
らレジスタ連鎖情報を受信して、演算器(パイプライン
)4に対するクロックストップ制御等を行う。
In this figure, the pipeline control unit 6 not only controls data flowing through the pipeline, but also sends an access request (c) to the main memory control unit 7 and receives the "memory write permission signal" (e). , controls reading out data on the data buffer 2 to the main memory 7, further receives register chain information from the instruction control unit 5, and performs clock stop control for the arithmetic unit (pipeline) 4, etc.

主記憶制御部7は上記パイプライン制御部6より送出さ
れたアクセス要求(c)を受け取り、主記憶優先順位に
基づいて、複数のメモリアクセスを各アクセスポートに
割り当てる機能を有する。
The main memory control unit 7 has a function of receiving the access request (c) sent from the pipeline control unit 6 and allocating a plurality of memory accesses to each access port based on the main memory priority order.

本ベクトルデータ処理装置においては、命令制御部5か
らの指示に基づいて、パイプライン制御部6がロードア
クセスパイプラインLAP、ストアアクセスパイプライ
ンSTP 、及び演算パイプライン4を制御しており、
該ロードアクセスパイプラインLAPにおける書き込み
ベクトルレジスタ3と、演算パイプライン4における読
み出しベクトルレジスタ3との間に、前述のレジスタ連
鎖があるものとする。
In this vector data processing device, a pipeline control unit 6 controls a load access pipeline LAP, a store access pipeline STP, and an arithmetic pipeline 4 based on instructions from an instruction control unit 5.
It is assumed that the aforementioned register chain exists between the write vector register 3 in the load access pipeline LAP and the read vector register 3 in the arithmetic pipeline 4.

そして、主記憶装置1からのロードデータがバンク衝突
等の原因により個渇した時、上記パイプライン制御部6
は命令制御部5からの各種連鎖情報に基づいて、読み出
しパイプラインに対してクロックストップを実行して、
該ベクトルロード命令とベクトル演算命令との間の順序
性を保つように動作する。
When the load data from the main storage device 1 runs out due to a bank collision or the like, the pipeline control unit 6
executes a clock stop on the read pipeline based on various chain information from the instruction control unit 5,
It operates to maintain the order between the vector load instruction and the vector operation instruction.

この時、本発明においては、点線で囲んだ部分に対して
のみクロックストップ制御を行い、他の読み出しパイプ
ラインであるストアアクセスパイプラインSTPに対し
てはフリーランとするように制御するところにポイント
がある。
At this time, in the present invention, the key point is that the clock stop control is performed only on the part surrounded by the dotted line, and the other read pipeline, the store access pipeline STP, is controlled to be free run. There is.

このようなりロックストップ制御をした時の効果を、第
7図を参照しながら、第8図、第9図の動作タイムチャ
ートで、一層明確にする。
The effects of such lockstop control will be made clearer with reference to FIG. 7 and operation time charts of FIGS. 8 and 9.

第8図は従来例における動作タイムチャートで、(1)
はアクセス要求発信サイクル、 (■)は優先順序決定
サイクル、 (■)は主記憶装置への書き込みサイクル
、 (■)はデータバッファ読み出しサイクルを示して
おり、(a)はベクトルストア命令を実行して、ベクト
ルレジスタ3からエレメントデータを読み出すタイミン
グ、(b)はデータバッファ2で、ベクトルレジスタ3
から読み出したベクトルデータを受け取ったタイミング
、(C)はアクセス要求発信タイミング、(d)は主記
憶制御部において、メモリアクセスのプライオリティを
決定している期間(本例においては、3マシンサイクル
を要している例で示している) 、 (e)はパイプラ
イン制御部6において、「メモリ書き込み許可信号」を
受け取ったタイミング、(f)は主記憶装置1において
、上記エレメントデータを受け取ったタイミングを、そ
れぞれ示している。
Figure 8 is an operation time chart in the conventional example, (1)
indicates an access request transmission cycle, (■) indicates a priority order determination cycle, (■) indicates a write cycle to the main memory, (■) indicates a data buffer read cycle, and (a) indicates a cycle in which a vector store instruction is executed. (b) shows the timing of reading element data from vector register 3 at data buffer 2.
(C) is the access request transmission timing; (d) is the period during which the main memory control unit determines the memory access priority (in this example, it takes 3 machine cycles). ), (e) shows the timing at which the "memory write permission signal" is received in the pipeline control unit 6, and (f) shows the timing at which the above element data is received in the main storage device 1. , respectively.

本図から明らかな如く、従来方式においては、前記クロ
ックストップの制御が実行された時、ベクトルレジスタ
3に対する読み出しパイプラインを総て停止させるよう
に動作するパイプライン制御回路となっているので、デ
ータバッファ2に実際にベクトルデータが読み出された
タイミングにおいて、主記憶装置lに対するアクセス要
求の発信を行っており、該アクセス要求の発信から、該
「メモリ書き込み許可信号」を受け取る迄、該受は取っ
たベクトルデータを保持してお(必要がある。
As is clear from this figure, in the conventional system, when the clock stop control is executed, the pipeline control circuit operates to stop all read pipelines for the vector register 3. At the timing when the vector data is actually read into the buffer 2, an access request to the main memory device l is sent, and from the sending of the access request until the reception of the "memory write permission signal", the receiving is You need to save the vector data you took.

第9図は本発明を実施して、ベクトルストア命令を実行
した場合の動作をタイムチャートで示したもので、(1
)〜(IV)、(a)〜(f)は第8図で説明したもの
と同じものである。
FIG. 9 is a time chart showing the operation when the present invention is implemented and a vector store instruction is executed.
) to (IV) and (a) to (f) are the same as those explained in FIG.

本発明を実施している場合においては、ストアアクセス
パイプラインはフリーランの状態にあるので、例えば本
図に示したように、主記憶装置1に対するアクセス要求
の発信(c)を、ベクトルレジスタ3の読み出しタイミ
ング(ao)と同時に行っており、第8図の従来方式に
比較して、明らかに、ベクトルストア命令の立ち上がり
が速くなっていることが良く理解できる。
When the present invention is implemented, the store access pipeline is in a free-running state, so for example, as shown in this figure, the access request (c) to the main storage device 1 is sent to the vector register 1. This is done at the same time as the read timing (ao) of , and it can be clearly seen that the rise of the vector store instruction is faster than in the conventional method shown in FIG.

尚、本実施例においては、主記憶装置lに対するアクセ
ス要求の発信(C)を、ベクトルレジスタ3に対する読
み出しタイミング(a)と同時に行っている例を示した
が、必ずしも同時とする必要はなく、例えば何マシンサ
イクル後に、ベクトルレジスタ3からデータバッファ2
にデータが読み出せることが分かっている場合には、そ
の読み出しタイミングに合わせて、主記憶装置ffに対
するアクセス要求の発信(a)を先行させても良いこと
は明らかである。
In this embodiment, an example was shown in which the access request (C) to the main memory device 1 is issued at the same time as the read timing (a) to the vector register 3, but it is not necessarily necessary to do so at the same time. For example, after how many machine cycles, data buffer 2 is transferred from vector register 3 to data buffer 2.
If it is known that data can be read at a certain time, it is obvious that the access request (a) to the main storage device ff may be sent in advance in accordance with the read timing.

(g)−発明の効果 以上、詳細に説明したように、本発明のパイプライン制
御回路は、主記憶装置とベクトルレジスタの間にデータ
バッファを有するベクトルデータ処理装置において、ベ
クトルレジスタに対してデータをロードするベクトル命
令と、該ベクトルレジスタを読み出すベクトル命令とに
よって、ベクトルレジスタがレジスタ連鎖状態にある時
において、上記主記憶装置からのロードデータが涸渇し
た時、読み出しパイプラインの内、演算パイプラインの
みをクロックストップして、該ベクトルレジスタに対す
るアクセス制御を行うようにしたものであるので、例え
ば、ベクトルストア命令と全く関連のない他のベクトル
命令において、レジスタ連鎖中にクロックストップ状態
が発生しても、該ベクトルストア命令は何等の影響を受
けることなく、通常のベクトルストア処理を続行するこ
とができる他、従来方式に比較してベクトルストア命令
の立ち上がりを速くすることができ、当該へクトルデー
タ処理装置の処理能力を向上させることができる効果が
ある。
(g) - Effects of the Invention As explained in detail above, the pipeline control circuit of the present invention provides data to the vector register in a vector data processing device having a data buffer between the main memory and the vector register. When the vector register is in a register chain state due to a vector instruction to load the vector register and a vector instruction to read the vector register, when the load data from the main memory is exhausted, the operation pipeline in the read pipeline Since this is designed to control access to the vector register by stopping the clock only for the vector store instruction, for example, if a clock stop state occurs during the register chain in another vector instruction that is completely unrelated to the vector store instruction. In addition, the vector store instruction can continue normal vector store processing without being affected in any way, and the start-up of the vector store instruction can be made faster than in the conventional method. This has the effect of improving the processing capacity of the processing device.

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

第1図はベクトルデータ処理装置の概略を示す図、第2
図はベクトルレジスタの連鎖の状態を模式的に示した図
、第3図は上記連鎖の他の状態を模式的に示した図、第
4図は演算(又は、ストア)パイプラインをクロックス
トップさせる為の構成を説明する図、第5図は連鎖情報
の意味を説明する図、第6図はへクトルレジスクにおけ
るバンクの概念を説明する図、第7図は本発明を適用し
たベクトルデータ処理装置の構成を示す図、第8図は従
来方式においてベクトルストア命令を実行した時の動作
をタイムチャートで示した図、第9図は本発明を実施し
てベクトルストア命令を実行した時の動作をタイムチャ
ートで示した図である。 図面において、lは主記憶装置、2はデータバッファ、
3はベクトルレジスタ、4は演算器(パイプライン)、
5は命令制御部、6はパイプライン制御部、■はへクト
ルレジスタ書き込み開始信号。 ■はベクトルレジスタ書き込み終了信号、■はエレメン
ト有効信号、■はレジスタ連鎖検出信号。 TO−77はベクトルレジスタに対するアクセスタイミ
ング、(a)はへクトルレジスタにおける読み出しタイ
ミング、(b)はデータバッファにおいてベクトルデー
タを受け取ったタイミングで、且つ保持期間、(C)は
メモリアクセス要求の発信タイミング、(d)は主記憶
制御部でプライオリティを取っている期間、(e)はパ
イプライン制御部が[メモリ書き込み許可信号」を受け
取ったタイミング。 (f)は主記憶装置でベクトルデータを受け取ったタイ
ミング、 (I)はメモリアクセス発信サイクル、(■
)はプライオリティ決定サイクル、(I[l)は主記憶
装置に対する書き込みサイクル、(IV)はデータバッ
ファからの読み出しサイクル、をそれぞれ示す。
Figure 1 is a diagram showing the outline of the vector data processing device, Figure 2 is a diagram showing the outline of the vector data processing device.
The figure schematically shows the state of the chain of vector registers, Figure 3 schematically shows the other states of the chain, and Figure 4 shows the clock stop of the operation (or store) pipeline. FIG. 5 is a diagram explaining the meaning of chain information, FIG. 6 is a diagram explaining the concept of banks in Hector Regisc, and FIG. 7 is a diagram explaining the vector data processing device to which the present invention is applied. Fig. 8 is a time chart showing the operation when a vector store instruction is executed in the conventional method, and Fig. 9 is a time chart showing the operation when the vector store instruction is executed by implementing the present invention. It is a diagram shown in the form of a chart. In the drawing, 1 is a main memory, 2 is a data buffer,
3 is a vector register, 4 is an arithmetic unit (pipeline),
5 is an instruction control section, 6 is a pipeline control section, and ■ is a hector register write start signal. ■ is a vector register write end signal, ■ is an element valid signal, and ■ is a register chain detection signal. TO-77 is the access timing to the vector register, (a) is the read timing in the vector register, (b) is the timing when vector data is received in the data buffer and is the holding period, and (C) is the sending timing of the memory access request. , (d) is the period during which the main memory control unit takes priority, and (e) is the timing when the pipeline control unit receives the [memory write permission signal]. (f) is the timing when vector data is received in the main memory, (I) is the memory access transmission cycle, (■
) indicates a priority determination cycle, (I[l) indicates a write cycle to the main memory, and (IV) indicates a read cycle from the data buffer.

Claims (1)

【特許請求の範囲】[Claims] 1つ乃至複数個のエレメントを同時にアクセス可能とす
るベクトルレジスタと、該ベクトルレジスタ間で演算を
行う演算パイプラインと、記憶装置と上記へクトルレジ
スタ間でデータ転送を行う為のアクセスパイプラインと
を備え、上記ベクトルレジスタが1つ乃至複数個のバン
クに分けられ、それぞれのバンクをアクセスするタイミ
ングが規定され、上記ベクトルレジスタと王妃記憶装置
との間にデータバッファを有するベクトルデータ処理装
置において、上記ベクトルレジスタヘロードする命令と
、上記ベクトルレジスタを読み出す命令とによって、ベ
クトルレジスタが連鎖状態にある時で、上記記憶装置か
らのロードデータが涸渇した時、読み出し動作パイプラ
インの内の演算パイプラインのみをクロックストップさ
せるが、アクセスパイプラインはクロックストップさせ
ないで、上記ベクトルレジスタに対するアクセス制御を
行う機能を備えたことを特徴とするパイプライン制御回
路。
A vector register that allows one or more elements to be accessed simultaneously, an arithmetic pipeline that performs operations between the vector registers, and an access pipeline that transfers data between the storage device and the hector register. In the vector data processing device, the vector register is divided into one or more banks, the timing for accessing each bank is defined, and a data buffer is provided between the vector register and the queen storage device. When the vector register is in a chain state due to an instruction to load the vector register and an instruction to read the vector register, and when the load data from the storage device is exhausted, only the operation pipeline in the read operation pipeline A pipeline control circuit having a function of controlling access to the vector register by stopping the clock of the vector register, but not stopping the clock of the access pipeline.
JP59079434A 1984-04-20 1984-04-20 Pipeline controlling circuit Granted JPS60222969A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59079434A JPS60222969A (en) 1984-04-20 1984-04-20 Pipeline controlling circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59079434A JPS60222969A (en) 1984-04-20 1984-04-20 Pipeline controlling circuit

Publications (2)

Publication Number Publication Date
JPS60222969A true JPS60222969A (en) 1985-11-07
JPH0321941B2 JPH0321941B2 (en) 1991-03-25

Family

ID=13689769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59079434A Granted JPS60222969A (en) 1984-04-20 1984-04-20 Pipeline controlling circuit

Country Status (1)

Country Link
JP (1) JPS60222969A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574924A (en) * 1992-11-30 1996-11-12 Fujitsu Limited Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5492143A (en) * 1977-12-29 1979-07-21 Fujitsu Ltd Control system for pipeline arithmetic unit
JPS5798070A (en) * 1980-12-12 1982-06-18 Fujitsu Ltd Data processing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5492143A (en) * 1977-12-29 1979-07-21 Fujitsu Ltd Control system for pipeline arithmetic unit
JPS5798070A (en) * 1980-12-12 1982-06-18 Fujitsu Ltd Data processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574924A (en) * 1992-11-30 1996-11-12 Fujitsu Limited Vector processing device that utilizes post marks to ensure serialization of access requests of vector store instructions

Also Published As

Publication number Publication date
JPH0321941B2 (en) 1991-03-25

Similar Documents

Publication Publication Date Title
JP3778573B2 (en) Data processor and data processing system
EP1110151B1 (en) Buffering system bus for external-memory accesses
US5822772A (en) Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties
JP3057934B2 (en) Shared bus arbitration mechanism
US5440717A (en) Computer pipeline including dual-ported, content-addressable writebuffer
JPH06309230A (en) Bus snooping method
US5623685A (en) Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
JPS60222969A (en) Pipeline controlling circuit
JP3808525B2 (en) Write and / or read access priority management device
JP3574693B2 (en) Instruction processor
JP3039391B2 (en) Memory system
JP2522412B2 (en) Communication method between programmable controller and input / output device
JP3467188B2 (en) Multiplexing bus order guarantee system.
JPH08272608A (en) Pipeline processor
JPH0447350A (en) Main storage read/response control
JP2549410B2 (en) Main memory reference order control method
JP2001022581A (en) Data processor and computer readable storage medium
JPS601656B2 (en) buffer memory circuit
JP3063501B2 (en) Memory access control method
JPH0424733B2 (en)
JPH0675855A (en) Cache control system
JPH02112054A (en) Data processor
JPH0252301B2 (en)
JPH0784875A (en) Write buffer control mechanism
JPH0479022B2 (en)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees