JPH0419575B2 - - Google Patents

Info

Publication number
JPH0419575B2
JPH0419575B2 JP60012158A JP1215885A JPH0419575B2 JP H0419575 B2 JPH0419575 B2 JP H0419575B2 JP 60012158 A JP60012158 A JP 60012158A JP 1215885 A JP1215885 A JP 1215885A JP H0419575 B2 JPH0419575 B2 JP H0419575B2
Authority
JP
Japan
Prior art keywords
register
instruction
vector
write
pipeline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP60012158A
Other languages
Japanese (ja)
Other versions
JPS61170830A (en
Inventor
Aiichiro Inoe
Juji Oinaga
Katsumi Oonishi
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 JP60012158A priority Critical patent/JPS61170830A/en
Publication of JPS61170830A publication Critical patent/JPS61170830A/en
Publication of JPH0419575B2 publication Critical patent/JPH0419575B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムにおける、中央処理
装置のレジスタが、中央処理装置と、それに接続
されるベクトル処理装置とから参照される場合
の、レジスタ参照を制御する方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to registers of a central processing unit in a computer system when the registers are referenced by the central processing unit and a vector processing unit connected to the central processing unit. Concerning methods for controlling references.

計算機システムの中央処理装置(以下におい
て、CPUという)等の高速化方式として、いわ
ゆるパイプライン方式による、並列処理方式が使
用されている。
2. Description of the Related Art A parallel processing method based on a so-called pipeline method is used as a method for increasing the speed of a central processing unit (hereinafter referred to as a CPU) of a computer system.

このような、並列処理方式においては、同時に
複数の命令実行の流れが存在するので、異なる命
令間において、ある命令の実行により更新される
スカラレジスタを、後続の他の命令が参照するよ
うな関係にある場合には、それらの命令実行の時
間的な前後関係が、プログラム通り(即ち、命令
フエツチの順番通り)になることを保証するため
の制御を必要とする。
In such a parallel processing method, there is a flow of multiple instruction executions at the same time, so there is a relationship between different instructions in which a scalar register updated by the execution of a certain instruction is referenced by another subsequent instruction. In this case, control is required to ensure that the temporal order of execution of these instructions is in accordance with the program (that is, in accordance with the instruction fetch order).

一方、更に高速な処理を必要とする等のシステ
ムにおいては、ベクトルデータの高速演算用に構
成された専用処理装置であるベクトル処理装置
(以下において、VPという)を併用する場合があ
る。
On the other hand, in systems that require even faster processing, a vector processing device (hereinafter referred to as VP), which is a dedicated processing device configured for high-speed calculation of vector data, may be used in combination.

VPは、公知のように、主に主記憶装置のベク
トルデータの演算を高速に処理するように構成さ
れた処理装置であるが、CPUと併用される構成
においては、VPがCPUの汎用レジスタ及び浮動
小数点レジスタ等(以下において、これらを総称
して、スカラレジスタという)を参照することも
必要である。
As is well known, the VP is a processing device configured to mainly process operations on vector data stored in the main memory at high speed. However, in a configuration where it is used in conjunction with a CPU, the VP can be used as a general-purpose register and It is also necessary to refer to floating point registers and the like (hereinafter, these will be collectively referred to as scalar registers).

その結果、上記のようなレジスタ参照順序の制
御が、CPUで実行されている命令とVPにおける
処理との間についても必要であるが、VPの処理
は、CPUのパイプラインとは非同期であるので、
その制御には特別の考慮が必要になる。
As a result, the above register reference order control is also necessary between instructions being executed by the CPU and processing in the VP, but since the processing in the VP is asynchronous with the pipeline of the CPU, ,
Its control requires special consideration.

〔従来の技術〕[Conventional technology]

第2図に示すような、VPとCPUを併用する構
成の一方式においては、VP1とCPU2は相互に
接続され、又それぞれ個別のポートによつて主記
憶アクセス制御装置(以下において、MCUとい
う)3を経て、主記憶装置(以下において、
MSUという)4にに接続される。
In one type of configuration that uses VP and CPU together, as shown in Fig. 2, VP1 and CPU2 are connected to each other, and each is connected to a main memory access control unit (hereinafter referred to as MCU) through an individual port. 3, the main memory (in the following,
4 (referred to as MSU).

CPU2は、MCU3を経てMSU4から取り出
す命令をデコードし、その命令がベクトル演算命
令の場合に、CPU2からVP1へ所要の制御情報
及びデータ等を転送線6により転送して、VP1
へ処理を依頼する。
The CPU 2 decodes the instruction taken out from the MSU 4 via the MCU 3, and if the instruction is a vector operation instruction, transfers necessary control information and data from the CPU 2 to the VP1 via the transfer line 6,
Request processing to.

VP1は、自身でMCU3を経てMSU4にアク
セスし、CPU2とは独立に処理を進めるが、
CPU2の例えばスカラレジスタに処理結果を出
力する場合には、データ及び制御信号等を、転送
線7によつてCPU2へ転送する。
VP1 accesses MSU4 by itself via MCU3 and proceeds with processing independently of CPU2, but
When outputting a processing result to, for example, a scalar register of the CPU 2, data, control signals, etc. are transferred to the CPU 2 via a transfer line 7.

第3図はCPU2のパイプライン制御における、
スカラレジスタのアドレスの制御等を説明するブ
ロツク図である。
Figure 3 shows the pipeline control of CPU2.
FIG. 2 is a block diagram illustrating control of addresses of scalar registers, etc.

図の上部の線10は、左から右に進む、パイプ
ラインの各ステージを示し、命令実行の典型的な
場合において、Dステージでは、命令コードのデ
コードが行われる。
Lines 10 at the top of the diagram indicate the stages of the pipeline, proceeding from left to right, and in a typical case of instruction execution, the D stage involves decoding of the instruction code.

Aステージでは、命令で指定されたスカラレジ
スタをレジスタスタツク23から読み出して、ベ
ースレジスタ11、インデクスレジスタ12に入
力し、それらと命令のデイスプレースメント部の
内容13により、アドレス計算をして、主記憶ア
ドレスを得る。
In the A stage, the scalar register specified by the instruction is read from the register stack 23, inputted to the base register 11 and index register 12, and an address is calculated based on these and the contents 13 of the displacement part of the instruction. Get main memory address.

Tステージでは、主記憶オペランドのアクセス
及び演算ユニツトの起動、Bステージではバツフ
ア、レジスタスタツク23等からのデータ読み出
しが行われ、Eステージでは、それまでに準備さ
れたデータについて演算が実行され、演算結果が
Wステージでレジスタスタツク23上の所定のス
カラレジスタ等へ書き込まれる。
In the T stage, the main memory operand is accessed and the arithmetic unit is activated, in the B stage, data is read from the buffer, register stack 23, etc., and in the E stage, arithmetic operations are performed on the data prepared so far. The operation result is written to a predetermined scalar register or the like on the register stack 23 at the W stage.

以上のような、各ステージの制御に対応して、
各ステージにある命令が使用する、スカラレジス
タ等のアドレスを保持するレジスタが設けられ
る。
In response to the control of each stage as described above,
A register that holds an address such as a scalar register used by an instruction at each stage is provided.

即ち、レジスタ群14,15,16の、それぞ
れ直列に接続されたレジスタが、それらのレジス
タを示し、命令デコードの結果により、Aステー
ジでレジスタA1及びA2の所要のものが設定さ
れる。
That is, the registers connected in series in the register groups 14, 15, and 16 indicate these registers, and the required values of registers A1 and A2 are set in the A stage according to the result of instruction decoding.

上記設定がされた場合には、レジスタA1,A
2の内容は、次の制御サイクルでレジスタT1,
T2にシフトされる。又、別の命令の場合には、
Tステージで、レジスタT1,T2,T3にアド
レスがセツトされる場合もある。
When the above settings are made, registers A1 and A
The contents of T2 are stored in registers T1 and T1 in the next control cycle.
It is shifted to T2. Also, in the case of another order,
At the T stage, addresses may be set in registers T1, T2, and T3.

レジスタT1,T2,T3の内容は、次の制御
サイクルで、レジスタB1,B2,B3にシフト
される。
The contents of registers T1, T2, T3 are shifted into registers B1, B2, B3 in the next control cycle.

レジスタB2,B3は、Bステージで読み出し
て、例えば演算器17の入力レジスタ18,19
へレジスタオペランドとして供給すべき、スカラ
レジスタを指定するのに使用される。
Registers B2 and B3 are read out at the B stage and used as input registers 18 and 19 of the arithmetic unit 17, for example.
Used to specify a scalar register to be supplied as a register operand to.

レジスタB1,B2の内容は、次サイクルでレ
ジスタE1,E2にシフトし、更に次のサイクル
でレジスタW1,W2にシフトする。
The contents of registers B1 and B2 are shifted to registers E1 and E2 in the next cycle, and further shifted to registers W1 and W2 in the next cycle.

レジスタW1はWステージにおける、書き込み
先のスカラレジスタのアドレス指定等に使用され
る。
Register W1 is used in the W stage to specify the address of the scalar register to which data is written.

レジスタ群15は書き込み対象のスカラレジス
タを指定する書込み先レジスタ指示パイプライン
を構成しているので、Dステージにおいては、レ
ジスタA1,T1,B1,E1,W1と、命令オ
ペランドで指定される、アドレス計算に使用する
スカラレジスタの指定(図において、11,1
2,13により示す)とを比較器24で比較す
る。
The register group 15 constitutes a write destination register instruction pipeline that specifies the scalar register to be written to, so in the D stage, registers A1, T1, B1, E1, W1 and the address specified by the instruction operand are Specifying the scalar register used for calculation (in the figure, 11, 1
2 and 13) are compared by a comparator 24.

その結果両者のうちのそれぞれ1レジスタでも
一致するアドレスが有つた場合には、比較器24
の出力25により、Dステージにある命令をイン
タロツクして、出力25の一致信号が無くなるま
で、その命令のDステージから先への進行を遅延
させる。
As a result, if there is a matching address in even one register of both, the comparator 24
output 25 interlocks the instruction in the D stage and delays the instruction from proceeding beyond the D stage until the match signal at output 25 disappears.

又、Bステージにおいては、それより先のステ
ージにある、書き込みレジスタアドレスである、
レジスタE1,W1と、レジスタB2,B3とを
比較器20で比較し、その一致出力信号21があ
る間、Bステージから先への進行をインタロツク
する。
Also, in the B stage, it is the write register address in the stage before it.
Registers E1, W1 and registers B2, B3 are compared by a comparator 20, and while the match output signal 21 is present, the progression from the B stage onward is interlocked.

以上のように、比較器20及び24、及びそれ
らの比較結果の出力21及び25によるインタロ
ツク制御によつて、スカラレジスタの更新と、後
続命令による同じレジスタの参照との競合を解除
するための、競合解除機構を構成している。
As described above, the interlock control by the comparators 20 and 24 and the outputs 21 and 25 of their comparison results is used to eliminate the conflict between updating a scalar register and referencing the same register by a subsequent instruction. It constitutes a conflict resolution mechanism.

公知のように、パイプラインの、あるステージ
がインタロツクされている間、そのステージ及び
それより前のステージにある命令の、次ステージ
への進行は阻止される。
As is well known, while a stage of a pipeline is interlocked, instructions in that stage and in previous stages are prevented from proceeding to the next stage.

CPU2は、ベクトル処理命令も同様に、前記
のパイプラインに乗せて実行する前処理により、
アドレス計算、所要のスカラレジスタからのデー
タ読み出し等を行つて所要の情報を準備し、それ
らの情報と命令コードをVP1に転送して、処理
させる。
Similarly, the CPU 2 executes vector processing instructions by preprocessing them on the pipeline and executing them.
It prepares the necessary information by calculating addresses, reading data from required scalar registers, etc., and transfers the information and instruction code to VP1 for processing.

これらの前処理のために、第4図aに示すよう
に、パイプラインには通常4個程度の処理フロー
30,31,32,33が流され、その後次の命
令のDステージがサイクル34から開始される。
For these preprocessing steps, as shown in FIG. 4a, normally about four processing flows 30, 31, 32, and 33 are passed through the pipeline, and then the D stage of the next instruction starts from cycle 34. Begins.

なお、図において英字は、前記説明で使用し
た、パイプラインの各ステージの名前を示し、図
の左から右へ時間が進行するものとする。
Note that in the diagram, alphabetical characters indicate the names of each stage of the pipeline used in the above explanation, and time progresses from left to right in the diagram.

図の処理フロー33のWステージのサイクルに
おいて、CPU2からVP1への所要情報の転送が
終わるが、もしこのベクトル処理命令が、CPU
2のレジスタスタツク23にあるスカラレジスタ
の更新を伴う場合には、このベクトル処理命令
の、VP1における処理が完了して、スカラレジ
スタの書き込みデータが出揃つた時(時刻36)
に、VP1から書き込み要求信号と共に出力デー
タが転送されて、指定のスカラレジスタが更新さ
れる。
In the W stage cycle of processing flow 33 in the figure, the transfer of the necessary information from CPU2 to VP1 is completed, but if this vector processing instruction
If the scalar register in the register stack 23 of No. 2 is updated, when the processing of this vector processing instruction in VP1 is completed and the write data of the scalar register is complete (time 36).
Then, the output data is transferred from VP1 together with the write request signal, and the specified scalar register is updated.

従つて、このようなベクトル演算命令の後続命
令に、上記の更新されるスカラレジスタの参照が
ある場合には、更新完了まで参照を遅延させる必
要がある。
Therefore, if an instruction subsequent to such a vector operation instruction references the scalar register to be updated, it is necessary to delay the reference until the update is completed.

従来は、このためにCPU2では、パイプライ
ン上にスカラレジスタの更新を行うベクトル演算
命令があることを検出すると、これを記憶し、後
続命令をDステージでインタロツクする。
Conventionally, for this purpose, when the CPU 2 detects that there is a vector operation instruction for updating a scalar register on the pipeline, it stores it and interlocks the subsequent instruction at the D stage.

このインタロツクは、VP1からの出力を、ス
カラレジスタへ書き込み完了するまで、継続する
必要がある。
This interlock must continue until the output from VP1 is written to the scalar register.

第4図aの処理フロー37は、このようにして
インタロツクされる後続命令のフローを示し、線
39はインタロツクの期間を示している。
Process flow 37 in FIG. 4a shows the flow of subsequent instructions that are interlocked in this way, and line 39 shows the period of interlock.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

前記従来の方式によれば、比較的簡単な制御に
よつて、VPがスカラレジスタを更新する場合に、
そのスカラレジスタを、後続命令が更新前に参照
することを防ぐことができる。
According to the conventional method, when a VP updates a scalar register using relatively simple control,
It is possible to prevent subsequent instructions from referencing that scalar register before it is updated.

しかし、すべての後続命令を無差別にインタロ
ツクするので、後続命令が上記に該当するレジス
タを参照しない場合でも、その実行を遅延するこ
とになり、必要以上にCPUの性能を低下させる
という問題がある。
However, since all subsequent instructions are indiscriminately interlocked, even if the subsequent instructions do not refer to the registers listed above, their execution is delayed, resulting in a problem of unnecessarily lowering CPU performance. .

本発明は、ベクトル命令によるスカラレジスタ
の更新と後続命令による参照との競合の解除を、
中央処理装置における命令実行をインタロツクす
る時間をできるだけ短縮して、効率よく且つ経済
的に実現できるレジスタ参照制御方式を目的とす
る。
The present invention eliminates conflicts between updates of scalar registers by vector instructions and references by subsequent instructions.
The object of the present invention is to provide a register reference control method that can be realized efficiently and economically by reducing the time required to interlock instruction execution in a central processing unit as much as possible.

〔問題点を解決するための手段〕[Means for solving problems]

前記の問題点は、スカラレジスタを有し、パイ
プライン機構によつて命令を並列実行し、該パイ
プライン機構には書き込み先の該スカラレジスタ
を指示する情報を保持する書き込み先レジスタ指
示パイプラインと、該書き込み先レジスタ指示パ
イプライン上に保持される情報で指示される該ス
カラレジスタを該パイプライン機構中の所要のス
テージから参照する場合に該参照を該書き込みの
実行後まで抑止する競合解除機構を有する中央処
理装置と、該中央処理装置によるベクトル命令の
前処理の結果に従つて、独立にベクトル演算を実
行するベクトル処理装置を有する計算機システム
において、該書き込み先レジスタ指示パイプライ
ンの最終ステージに保持する情報を受け取つて保
持するVP書き込みレジスタを設け、該VP書き込
みレジスタの出力を、該競合解除機構で処理する
該書き込み先レジスタ指示パイプライン上の保持
情報に追加するように接続し、該中央処理装置が
該パイプライン機構により該ベクトル命令の前処
理を実行する場合に、当該ベクトル命令による該
ベクトル処理の出力を書き込むべき該スカラレジ
スタを指示する情報を、該書き込み先レジスタ指
示パイプラインにより該VP書き込みレジスタに
設定して、該ベクトル処理の出力の書き込みまで
保持するように構成された本発明のレジスタ参照
制御方法により解決される。
The above-mentioned problem is that the pipeline mechanism has a scalar register, executes instructions in parallel, and the pipeline mechanism includes a write destination register instruction pipeline that holds information indicating the write destination scalar register. , a conflict resolution mechanism that suppresses the reference until after the write is executed when the scalar register indicated by the information held on the write destination register instruction pipeline is referenced from a required stage in the pipeline mechanism; and a vector processing unit that independently executes vector operations according to the results of preprocessing of vector instructions by the central processing unit, in the final stage of the write destination register instruction pipeline. A VP write register is provided to receive and hold information to be held, and the output of the VP write register is connected to be added to the held information on the write destination register instruction pipeline processed by the contention resolution mechanism, and the central When a processing device executes preprocessing of the vector instruction using the pipeline mechanism, information indicating the scalar register to which the output of the vector processing by the vector instruction is to be written is transmitted by the write destination register instruction pipeline. This problem is solved by the register reference control method of the present invention, which is configured to set the output in the VP write register and hold it until the output of the vector processing is written.

〔作用〕[Effect]

即ち、前記説明の、パイプラインにおいて、レ
ジスタアドレスを保持するレジスタ群に追加し
て、書込み先レジスタ指示パイプラインの最後
に、ベクトル演算命令の実行によつて更新される
スカラレジスタのレジスタアドレスを保持する
VP書き込みレジスタを設ける。
That is, in addition to the register group that holds register addresses in the pipeline described above, at the end of the write destination register instruction pipeline, the register address of the scalar register that is updated by the execution of the vector operation instruction is held. do
Provide a VP write register.

CPUでは、ベクトル演算命令が例えばスカラ
レジスタの更新を伴う場合は、その前処理におい
て、VP書き込みレジスタに更新先のレジスタア
ドレスをセツトしておく。
In the CPU, when a vector operation instruction involves updating a scalar register, for example, the update destination register address is set in the VP write register in preprocessing.

このようにして、一般の命令の制御における、
従来の更新レジスタと参照レジスタの一致検出条
件に、上記VP書き込みレジスタに保持するアド
レスを加え、これによつて一致が検出された場合
のみ、後続命令をインタロツクする。
In this way, in the control of general orders,
The address held in the VP write register is added to the conventional condition for detecting a match between an update register and a reference register, and only when a match is detected, a subsequent instruction is interlocked.

以上により、スカラレジスタ更新を伴うベクト
ル演算命令の場合にも、後続命令の無差別なイン
タロツクを行わないで、必要最小限のインタロツ
にすることができる。
As described above, even in the case of a vector operation instruction that involves updating a scalar register, it is possible to reduce the number of interlocks to the necessary minimum without indiscriminately interlocking subsequent instructions.

〔実施例〕〔Example〕

第1図は本発明の一実施例構成を示すブロツク
図である。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.

第1図は、第3図の従来構成例に対応する部分
を示し、図において第3図と同じ構成部分は同一
の符号で示す。
FIG. 1 shows parts corresponding to the conventional configuration example shown in FIG. 3, and in the figure, the same components as in FIG. 3 are designated by the same reference numerals.

本発明によりVP書き込みレジスタ40が設
けられ、レジスタ群15の書込み先レジスタ指示
パイプラインの最終ステージレジスタW1に接続
される。
According to the present invention, a VP write register 40 is provided and connected to the final stage register W1 of the write destination register designation pipeline of the register group 15.

VP書き込みレジスタ40には、ベクトル処理
命令の前処理において、その命令がスカラレジス
タの更新を伴う命令であると識別された場合に、
その最後のWステージである、処理フロー33の
Wステージの制御サイクル(第4図b)におい
て、レジスタW1の内容がセツトされるものとす
る。
In the VP write register 40, in the preprocessing of a vector processing instruction, if the instruction is identified as an instruction that involves updating a scalar register,
It is assumed that the contents of the register W1 are set in the control cycle of the W stage of processing flow 33 (FIG. 4b), which is the last W stage.

VP書き込みレジスタ40に保持された、レジ
スタアドレスは、競合解除機構を構成する比較器
20及び比較器24に、従来の入力に追加して入
力され、後続命令の参照するスカラレジスタのレ
ジスタアドレスと比較されるようにする。
The register address held in the VP write register 40 is input in addition to the conventional input to the comparator 20 and the comparator 24 that constitute the conflict resolution mechanism, and is compared with the register address of the scalar register referred to by the subsequent instruction. to be done.

比較の結果一致した場合には、一致出力信号2
1又は25によつて、従来の一般の命令の場合と
同様にパイプラインをDステージ又はBステージ
でインタロツクする。
If the comparison results in a match, the match output signal 2
1 or 25, the pipeline is interlocked at the D stage or B stage as in the case of conventional general instructions.

このインタロツクは、VP1からの出力データ
による、レジスタ更新が完了するまで継続する必
要がある。
This interlock needs to continue until the register update by the output data from VP1 is completed.

しかし、上記比較において、レジスタ一致が検
出されない限り、後続命令はインタロツク無く、
実行を進められる。
However, in the above comparison, unless a register match is detected, the subsequent instruction will be executed without interlock.
You can proceed with the execution.

第4図b及びcにおいて、処理フロー30〜3
3は、第4図aと同じベクトル処理命令の前処理
フローであるが、処理フロー33のWステージで
VP書き込みレジスタ40に、レジスタアドレス
がセツトされ、線48に示すように、書き込み完
了まで保持される。
In FIG. 4 b and c, processing flows 30 to 3
3 is the same preprocessing flow of the vector processing instruction as in FIG. 4a, but at the W stage of processing flow 33.
A register address is set in the VP write register 40 and held until the write is completed, as shown by line 48.

処理フロー41〜46は後続命令の処理フロー
であり、ベクトル処理命令を含む各命令相互にレ
ジスタ参照の衝突が無いとすれば、図示のように
各フローが遅延無く終了する。
Processing flows 41 to 46 are processing flows of subsequent instructions, and if there is no register reference conflict between instructions including vector processing instructions, each flow ends without delay as shown.

第4図bに示す、その次の命令の処理フロー4
7で、VP書き込みレジスタ40の保持するアド
レスのレジスタを、アドレス計算のベースレジス
タ又はインデスクレジスタとして、参照しようと
した場合には、比較器24の出力25の出力によ
り、Dステージでインタロツクされる。
Processing flow 4 of the next instruction shown in FIG. 4b
In step 7, if an attempt is made to refer to the address register held by the VP write register 40 as a base register or index register for address calculation, it is interlocked at the D stage by the output 25 of the comparator 24. .

又第4図cに示す処理フロー47の場合のよう
にVP書込みレジスタ40の保持するアドレス
のレジスタをレジスタオペランドとして、参照し
ようとした場合には、比較器20の出力21の出
力により、Bステージでインタロツクされる。
In addition, as in the case of the processing flow 47 shown in FIG. is interlocked with.

それらの場合、この命令はVP1の処理が終わ
るまで、進行を遅延される。
In those cases, this instruction is delayed from proceeding until VP1 has finished processing.

しかし、この遅延はプログラム論理上必要な最
小限の遅延時間である。
However, this delay is the minimum delay time necessary for program logic.

〔発明の効果〕〔Effect of the invention〕

以上の説明から明らかなように本発明によれ
ば、CPUとVPを接続した構成の計算機システム
の、VPの出力でCPUのレジスタを更新が
発生する場合の競合解除の制御が、CPUで実行
される命令間の場合と共通の制御によつて経済的
に且つ最小限のインタロツクで行なえるようにな
り、CPUの性能を経済的な構成で改善できると
いう顕著な効果を有する。
As is clear from the above description, according to the present invention, in a computer system in which a CPU and a VP are connected, conflict resolution control when a register of the CPU is updated by the output of the VP is executed by the CPU. This has the remarkable effect of improving the performance of the CPU with an economical configuration, as it can be done economically and with a minimum of interlocks due to the common control between the instructions.

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

第1図は本発明一実施例構成のブロツク図、第
2図は計算機システムの一構成例ブロツク図、第
3図は従来の一構成例ブロツク図、第4図はパイ
プライン処理フローの説明図である。 図において、1はVP、2はCPU、3はMCU、
4はMSU、11はベースレジスタ、12はイン
デクスレジスタ、14,15,16はレジスタ
群、20,24は比較器、23はレジスタスタツ
ク、30〜33,41〜47は処理フロー、40
はVP書き込みレジスタを示す。
Fig. 1 is a block diagram of an example configuration of the present invention, Fig. 2 is a block diagram of an example configuration of a computer system, Fig. 3 is a block diagram of a conventional configuration example, and Fig. 4 is an explanatory diagram of a pipeline processing flow. It is. In the figure, 1 is VP, 2 is CPU, 3 is MCU,
4 is an MSU, 11 is a base register, 12 is an index register, 14, 15, 16 are register groups, 20, 24 are comparators, 23 is a register stack, 30 to 33, 41 to 47 are processing flows, 40
indicates the VP write register.

Claims (1)

【特許請求の範囲】 1 スカラレジスタを有し、パイプライン機構に
よつて命令を並列実行し、 該パイプライン機構には書き込み先の該スカラ
レジスタを指示する情報を保持する書き込み先レ
ジスタ指示パイプラインと、 該書き込み先レジスタ指示パイプライン上に保
持される情報で指示される該スカラレジスタを該
パイプライン機構中の所要のステージから参照す
る場合に該参照を該書き込みの実行後まで抑止す
る競合解除機構を有する中央処理装置と、 該中央処理装置によるベクトル命令の前処理の
結果に従つて、独立にベクトル演算を実行するベ
クトル処理装置を有する計算機システムにおい
て、 該書き込み先レジスタ指示パイプラインの最終
ステージに保持する情報を受け取つて保持するベ
クトル処理装置書き込みレジスタを設け、 該ベクトル処理装置書き込みレジスタの出力
を、該競合解除機構で処理する該書き込み先レジ
スタ指示パイプライン上の保持情報に追加するよ
うに接続し、 該中央処理装置が該パイプライン機構により該
ベクトル命令の前処理を実行する場合に、当該ベ
クトル命令による該ベクトル処理の出力を書き込
むべき該スカラレジスタを指示する情報を、該書
き込み先レジスタ指示パイプラインにより該ベク
トル処理装置書き込みレジスタに設定して、該ベ
クトル処理の出力の書き込みまで保持するように
構成されていることを特徴とするレジスタ参照方
法。
[Claims] 1. A write destination register instruction pipeline that has a scalar register, executes instructions in parallel by a pipeline mechanism, and holds information indicating the write destination scalar register in the pipeline mechanism. and, when the scalar register indicated by the information held on the write destination register instruction pipeline is referenced from a required stage in the pipeline mechanism, conflict resolution is performed to suppress the reference until after the write is executed. In a computer system having a central processing unit having a central processing unit and a vector processing unit that independently executes vector operations according to a result of preprocessing of a vector instruction by the central processing unit, the final stage of the write destination register instruction pipeline A vector processing device write register is provided to receive and hold information held in the vector processing device write register, and the output of the vector processing device write register is added to the held information on the write destination register instruction pipeline processed by the conflict resolution mechanism. and when the central processing unit executes preprocessing of the vector instruction by the pipeline mechanism, information indicating the scalar register to which the output of the vector processing by the vector instruction is to be written is sent to the write destination register. 1. A register referencing method, characterized in that the register reference method is configured to set the output of the vector processing device in the write register of the vector processing device using an instruction pipeline and hold the output until the output of the vector processing is written.
JP60012158A 1985-01-25 1985-01-25 Register reference control system Granted JPS61170830A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60012158A JPS61170830A (en) 1985-01-25 1985-01-25 Register reference control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60012158A JPS61170830A (en) 1985-01-25 1985-01-25 Register reference control system

Publications (2)

Publication Number Publication Date
JPS61170830A JPS61170830A (en) 1986-08-01
JPH0419575B2 true JPH0419575B2 (en) 1992-03-30

Family

ID=11797647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60012158A Granted JPS61170830A (en) 1985-01-25 1985-01-25 Register reference control system

Country Status (1)

Country Link
JP (1) JPS61170830A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746350B2 (en) * 1988-02-15 1995-05-17 工業技術院長 Vector calculator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5829549B2 (en) * 1980-12-23 1983-06-23 富士通株式会社 Register interference control method
JPS59154548A (en) * 1983-02-22 1984-09-03 Hitachi Ltd Memory control method

Also Published As

Publication number Publication date
JPS61170830A (en) 1986-08-01

Similar Documents

Publication Publication Date Title
US6889318B1 (en) Instruction fusion for digital signal processor
US5043868A (en) System for by-pass control in pipeline operation of computer
JP2620511B2 (en) Data processor
JPH02227730A (en) Data processing system
JPH0348536B2 (en)
JPH0673105B2 (en) Instruction pipeline type microprocessor
JPH0743648B2 (en) Information processing equipment
US5291615A (en) Instruction pipeline microprocessor
JP2798121B2 (en) Data processing device
JPH0419575B2 (en)
EP0573071A2 (en) A microprocessor
JPH0510694B2 (en)
JPS5890247A (en) Pipeline controlling system of information processor
JP2814683B2 (en) Instruction processing unit
JP2783285B2 (en) Information processing device
JPS5896345A (en) Hierarchical calculation method
JP2812610B2 (en) Pipeline control method
JPH02254541A (en) Control system for conditional branch instruction
JP2576589B2 (en) Virtual storage access control method
JPH0916399A (en) calculator
JPH0419574B2 (en)
JPH03240131A (en) Information processor
JPS5896346A (en) Hierarchical calculation method
JPS61296448A (en) Data writing control system for electronic computer
JPH04174041A (en) Data access control system