JPH0719247B2 - Command transmission control method in information processing apparatus - Google Patents
Command transmission control method in information processing apparatusInfo
- Publication number
- JPH0719247B2 JPH0719247B2 JP32825787A JP32825787A JPH0719247B2 JP H0719247 B2 JPH0719247 B2 JP H0719247B2 JP 32825787 A JP32825787 A JP 32825787A JP 32825787 A JP32825787 A JP 32825787A JP H0719247 B2 JPH0719247 B2 JP H0719247B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- queue
- vector
- eqb
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 [概要] 複数のスカラユニットから送られてくるベクトル命令を
処理するベクトルユニットを備えた情報処理装置におけ
る各スカラユニットに対応するベクトル命令の発信制御
方式に関し、 複数のスカラユニットの系から送られた命令が共通の命
令発信キューバッファに混在しても、SU0系の命令同士
またはSU1系の命令同士では入力した順番通りに出力す
るが、異なる系の命令相互の間では発信可能な方を先に
出力できるようにした情報処理装置における命令発信制
御方式を提供することを目的とし、 スカラ命令を処理する複数のスカラユニットとこれらの
スカラユニットから送られるベクトル命令を処理するベ
クトルユニットから構成され、ベクトルユニット内のベ
クトル制御部に各スカラユニットの命令毎の命令発信ス
テージの前段において各スカラユニットの命令間で共有
してセットされる命令発信キューバッファを備えた情報
処理装置において、各スカラユニット毎に命令発信キュ
ーの読み出しポインタキューと、読み出しポインタキュ
ー制御部とを設け、該読み出しポインタキュー制御部
は、命令発信キューバッファに命令をセットする時に、
その命令発信キューバッファのポインタを読み出しポイ
ンタキューにセットし、命令発信キューから出力される
時に該読出しポインタキューをシフトさせ、各スカラユ
ニット毎の読み出しポインタキューの先頭が命令発信キ
ューの各スカラユニット毎の命令の読み出し位置を示す
よう制御するよう構成する。DETAILED DESCRIPTION OF THE INVENTION [Outline] A transmission control method of a vector instruction corresponding to each scalar unit in an information processing apparatus including a vector unit for processing a vector instruction sent from a plurality of scalar units, Even if the commands sent from the unit system are mixed in the common command transmission queue buffer, the SU0 commands or the SU1 commands output in the order in which they are input, but the commands of different systems do not. The purpose is to provide a command transmission control method in an information processing device that can output the one that can transmit, and to process multiple scalar units that process scalar instructions and vector instructions sent from these scalar units. It is composed of vector units, and the vector control unit in the vector unit issues instructions for each instruction of each scalar unit. In an information processing device having an instruction transmission queue buffer that is set to be shared between instructions of each scalar unit in the preceding stage of the reception stage, a read pointer queue of the instruction transmission queue for each scalar unit and a read pointer queue control unit are provided. And the read pointer queue control unit, when setting an instruction in the instruction transmission queue buffer,
The pointer of the command transmission queue buffer is set in the read pointer queue, the read pointer queue is shifted when output from the command transmission queue, and the head of the read pointer queue for each scalar unit is for each scalar unit of the command transmission queue. It is configured to control so as to indicate the read position of the instruction.
[産業上の利用分野] 本発明は複数のスカラユニットから送られてくるベクト
ル命令を処理するベクトルユニットを備えた情報処理装
置における各スカラユニットに対応するベクトル命令の
発信制御方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector command transmission control method corresponding to each scalar unit in an information processing apparatus having a vector unit for processing vector commands sent from a plurality of scalar units.
スカラ命令を処理するスラカユニットとベクトル命令を
処理するベクトルユニットを備える科学技術計算機にお
いて、実行するプログラムにより異なるが、一般にベク
トルユニットの処理装置が高速であるため、ベクトル化
率が低い計算の場合はベクトルユニットの稼働率が低下
し、資源の有効利用が図れないという問題が生じてい
た。In a scientific and technological computer equipped with a scalar unit for processing scalar instructions and a vector unit for processing vector instructions, it depends on the program to be executed. There has been a problem that the operating rate of the unit has declined and effective use of resources cannot be achieved.
これを解決するため1つのベクトルユニットに対し複数
のスカラユニットを接続し、複数のスカラユニットから
ベクトルユニットに送られるベクトル命令を増加させる
ことによりベクトルユニットの稼働率を向上させるとい
う新しいマルチプロセッサシステムが考え出された。In order to solve this problem, a new multiprocessor system that connects multiple scalar units to one vector unit and increases the vector unit operation rate by increasing the number of vector instructions sent from multiple scalar units to the vector unit has been developed. Figured out.
そのマルチプロセッサシステムでは、複数のスカラユニ
ットに対し、ベクトルユニットの使用権を排他的に切換
えながら処理を進めている。ところが、このような切換
制御によってはベクトルユニット使用権の切換え時に命
令発信の立ち上がりに時間がかかるという欠点があっ
た。In the multiprocessor system, processing is advanced while exclusively switching the right of use of the vector unit to a plurality of scalar units. However, such a switching control has a drawback that it takes time to rise the command transmission at the time of switching the vector unit use right.
そこで、ベクトルユニット使用権の切換えを命令単位で
交互に行うことによって、命令実行パイプラインの有効
利用をはかる方法が本出願人により提案されている。Therefore, the applicant has proposed a method for effectively utilizing the instruction execution pipeline by alternately switching the vector unit usage right for each instruction.
しかし、その方法においてもベクトルユニット内に命令
が投入されてから、命令発信を行うまでの複数のステー
ジ(命令デコードステージや命令発信ステージ等)の装
置が、複数のスカラユニットの系統の命令に対して共有
されているので、系統間での命令の発信制御に融通性を
持たせることが望まれている。However, even in that method, the device of multiple stages (instruction decoding stage, instruction transmission stage, etc.) from when an instruction is input into the vector unit to when the instruction is transmitted, responds to the instruction of the system of multiple scalar units. Therefore, it is desired to have flexibility in controlling the transmission of commands between systems.
[従来の技術] ベクトルプロセッサ(VP)は、ベクトル命令を処理する
ベクトルユニット(VU)とその他の命令(スカラ命令)
を処理するスカラユニット(SU)とを備える。[Prior Art] A vector processor (VP) is a vector unit (VU) that processes vector instructions and other instructions (scalar instructions).
And a scalar unit (SU) for processing.
従来のSUを2台とVUを1台持つマルチシステムのVPの構
成を第6図に示す。Fig. 6 shows the structure of a conventional multi-system VP with two SUs and one VU.
図において、60は主記憶装置(MSUで表す)、61は記憶
制御装置(MCUで表す)、62はスカラユニット0(SU0で
表す)、63はスカラユニット1(SU1で表す)、64はベ
クトルユニット(VUで表す)、65はベクトル実行ユニッ
ト(VEUで表す)、66はベクトル制御ユニット(VCUで表
す)、650はロードパイプライン、651はストアパイプラ
イン、652はベクトルレジスタ(VRで表す)、653は加算
パイプライン、654は乗算パイプライン、655は除算パイ
プライン、660は制御信号を表す。In the figure, 60 is a main memory (represented by MSU), 61 is a storage controller (represented by MCU), 62 is a scalar unit 0 (represented by SU0), 63 is a scalar unit 1 (represented by SU1), and 64 is a vector. Unit (represented by VU), 65 is a vector execution unit (represented by VEU), 66 is a vector control unit (represented by VCU), 650 is a load pipeline, 651 is a store pipeline, and 652 is a vector register (represented by VR). , 653 represents an addition pipeline, 654 represents a multiplication pipeline, 655 represents a division pipeline, and 660 represents a control signal.
VCU66はベクトル命令を制御するユニットで、複数のス
カラユニットSU0,SU1から送られてくるベクトル命令を
受けとると、命令単位で切換え制御されて信号線660を
通ってVEU65に送られる。The VCU 66 is a unit for controlling vector instructions. When receiving vector instructions sent from a plurality of scalar units SU0 and SU1, the VCU 66 is controlled to be switched in instruction units and sent to the VEU 65 through the signal line 660.
VEU65はベクトル命令を実行するユニットであり、メモ
リとの間でデータ転送を行うロードパイプライン650、
ストアパイプライン651およびベクトルデータを保持す
るVR652を持つ。VEU65 is a unit that executes vector instructions, load pipeline 650 that transfers data to and from memory,
It has a store pipeline 651 and a VR 652 that holds vector data.
また、VR652からベクトルデータを読み出して演算を行
い、結果をVR652に書き込む命令を実行するために、加
算パイプライン653、乗算パイプライン654、除算パイプ
ライン655を持つ。Further, it has an addition pipeline 653, a multiplication pipeline 654, and a division pipeline 655 in order to execute an instruction for reading vector data from the VR 652, performing an operation, and writing the result to the VR 652.
VPにおいては、MSUからの命令のフエッチはSUで行い、
各SU0、SU1はスカラ命令をフエッチした時はSU内で実行
し、ベクトル命令をフエッチした時はVUへ渡す。In VP, SU is used for the instructions from MSU.
Each SU0 and SU1 executes in the SU when the scalar instruction is fetched, and passes it to the VU when the vector instruction is fetched.
次に第6図に示す構成におけるVCUについて提案されて
いる回路構成を第7図に示す。Next, FIG. 7 shows a circuit configuration proposed for the VCU in the configuration shown in FIG.
第7図において、ベクトル命令はSU0、SU1から各々のバ
スを介してそれぞれの命令フエッチステージレジスタ
(VFSR0、VFSR1で表す)に入力される。In FIG. 7, vector instructions are input from SU0 and SU1 to respective instruction fetch stage registers (represented by VFSR0 and VFSR1) via respective buses.
この後SU0側の動作について述べると、VFSR0に命令がフ
エッチされた時、ベクトルフエッチバッファレジスタ
(VFBROで表す)が空でありかつ、命令切換制御部721に
よりセレクタ744がSU0側を選択していると、命令はVFSR
0730からベクトルプリデコードステージレジスタ(VPSR
で表す)750に送られる。The operation on the SU0 side will be described below. When an instruction is fetched into VFSR0, the vector etch buffer register (represented by VFBRO) is empty, and the instruction switching control unit 721 causes the selector 744 to select the SU0 side. The command is VFSR
0730 to vector predecode stage register (VPSR
It is sent to 750.
VFBR0,740に先行命令がはいっているか、またはセレク
タ744がSU1側をセレクトしている場合はVFSR0,730からV
FBR0,740に移動してバッファリングされる。If the preceding command is included in VFBR0,740 or if the selector 744 selects the SU1 side, VFSR0,730 to V
Moved to FBR0,740 and buffered.
先入れ先出し(FIFO)形のバッファであるVFBR0に入っ
ている命令はセレクタ744がSU0をセレクトしたときに先
頭のものがVPSR750に移動する。以上のSU0側の動作はSU
1からの命令に関してSU1側で同様に行われる。The first instruction in the VFBR0 which is a first-in first-out (FIFO) type buffer moves to the VPSR750 when the selector 744 selects SU0. The above operation on the SU0 side is SU
The instruction from 1 is similarly performed on the SU1 side.
命令切換制御部721は、SU0から送られたベクトル命令
(以後0系のベクトル命令という)とSU1から送られた
ベクトル命令(以後1系のベクトル命令という)のどち
らを実行の前段階のキュー(待ち行列)へ移すかを選択
する制御を行う(通常は交互に切換えるが、状況に応じ
た制御も可能)。The instruction switching control unit 721 determines which of the vector instruction sent from SU0 (hereinafter referred to as the 0-system vector instruction) and the vector instruction sent from SU1 (hereinafter referred to as the 1-system vector instruction) at the pre-execution queue ( Control to select whether to move to the queue) (normally switching is performed alternately, but control according to the situation is also possible).
命令切換制御部721によりセレクトされた各系のベクト
ル命令はVPSR750において、デコードされるとともに例
外チェックが行われる。The vector instruction of each system selected by the instruction switching control unit 721 is decoded and an exception check is performed in the VPSR750.
デコードの結果ベクトル命令がメモリに対するストア,
ロードといったアクセス系の命令ならば、アクセスキュ
ーステージ,フォーSU0(AQS0で表す)771かアクセスキ
ューステージ・フォーSU1(AQS1で表す)772に移る。た
だし、命令が0系の場合AQSO,771が空きであってかつ、
アクセスキューバッファ(AQBで表す)761が空きの時AQ
S0,771に移ることができる。1系の命令の場合もAQS1が
空きであってかつ、アクセスキューバッファAQB761が空
きの時AQS1,772へ移ることができる。Stores the decoded result vector instruction to memory,
If it is an access-related instruction such as a load, it moves to the access queue stage, four SU0 (represented by AQS0) 771 or access queue stage four SU1 (represented by AQS1) 772. However, if the instruction is 0 series, AQSO, 771 is empty, and
AQ when access queue buffer (denoted by AQB) 761 is empty
You can move to S0,771. Even in the case of the 1-system instruction, when AQS1 is empty and the access queue buffer AQB761 is empty, it is possible to move to AQS1,772.
ここでAQS0,771とAQS1,772はそれぞれSU0、SU1専用のレ
ジスタであり、0系のアクセス系命令と1系のアクセス
系命令専用の命令発信レジスタであり、命令管理制御部
781の制御により発信(ロード、ストア等のアクセス処
理のパイプラインに投入すること)が行われる。Here, AQS0,771 and AQS1,772 are registers dedicated to SU0 and SU1, respectively, and are command transmission registers dedicated to 0-system access-related instructions and 1-system access-related instructions, and the instruction management control unit.
Under the control of 781, transmission (putting into a pipeline for access processing such as loading and storing) is performed.
VPSR750から命令発信キューであるAQB761へ移る条件
は、その命令が属する系(SU0またはSU1)のAQSが空き
でないか、AQB761に同系の先行命令が存在することであ
り、この条件に合う場合は0系と1系のいずれのアクセ
ス系のベクトル命令もAQB761に先入れ先出し(FIFO)形
式(例えばシフトレジスタ)で格納される。The condition for moving from VPSR750 to AQB761 which is the instruction transmission queue is that AQS of the system (SU0 or SU1) to which the instruction belongs is not empty or there is a predecessor instruction of the same system in AQB761. If this condition is satisfied, 0 The vector instructions for both the access system and the access system 1 are stored in the AQB761 in a first-in first-out (FIFO) format (for example, a shift register).
また、加算、乗算、除算等の演算系の命令の場合は、VP
SR750から送られた命令はアクセス系と同様の回路であ
るエグゼクションキューステージ・フォーSU0(EQS0で
表す)773か、エグゼクションキューステージ・フォーS
U1(EQS1で表す)774か、イグゼクションキューバッフ
ァ(EQBで表す)762に入力する。In addition, in the case of arithmetic instructions such as addition, multiplication, and division, VP
The instruction sent from SR750 is the same circuit as the access system, execution queue stage for SU0 (represented by EQS0) 773, or execution queue stage for S.
Input to U1 (represented by EQS1) 774 or execution queue buffer (represented by EQB) 762.
AQS0、AQS1、EQS0、EQS1の各ステージの命令はアクセス
系は命令管理制御部781で、演算系は命令管理制御部782
で各々発信タイミングが制御されて条件がそろうと信号
線79(第6図の信号線660に対応)を通ってVEU(第6
図)に送られる。The instruction of each stage of AQS0, AQS1, EQS0, and EQS1 is the instruction management control unit 781 for the access system and the instruction management control unit 782 for the operation system.
When the transmission timings are controlled by each of them and the conditions are met, VEU (No. 6) is passed through signal line 79 (corresponding to signal line 660 in FIG. 6).
Figure) sent to.
[発明が解決しようとする問題点] 上記の第7図の従来例の構成において、VUの使用権を得
てVCU内に命令が投入されてから命令発信を行うまでの
命令プリデコードステージ(VPSR)や、命令発信ステー
ジ(AQB、EQB)はSU0系とSU1系とで回路が共有されてい
る。これは、各系毎に回路を設けると回路数が増大し、
装置が大きくなる等を考慮して共通化したものである。[Problems to be Solved by the Invention] In the configuration of the conventional example of FIG. 7 described above, an instruction predecode stage (VPSR) from when an instruction is input into the VCU after the right to use the VU is obtained until the instruction is issued. ), And the instruction transmission stage (AQB, EQB), the circuit is shared by SU0 and SU1 systems. This is because the number of circuits increases when a circuit is provided for each system,
This is a common device considering that the device becomes large.
ところが、命令発信時に一方の系の命令が何らかの理由
で発信できない時がある。そのような場合は例えば演算
器が空いているにもかかわらず後続する他のSU系の命令
が発信がさまたげられるという問題があった。However, when issuing a command, there are times when the command of one system cannot be sent for some reason. In such a case, for example, there is a problem in that the transmission of another SU-based command that follows succeeds even if the computing unit is empty.
具体的には演算系の場合、SU0系とSU1系の両方の演算命
令が交互にFIFO形のバッファであるEQB762に格納されて
いる時、第7図に拡大して示すように、0系と1系の命
令がn+1、m+1、n+2、m+2の順に入っている
とする。Specifically, in the case of the operation system, when the operation instructions of both the SU0 system and the SU1 system are alternately stored in the EQB762, which is a FIFO type buffer, as shown in FIG. It is assumed that the 1-system instructions are in the order of n + 1, m + 1, n + 2, m + 2.
この時EQS0とEQS1には夫々命令m、nが格納されて命令
管理制御部782により0系の命令mを発信させようとす
るが準備が整ってない(演算データがベクトルレジスタ
にロードされてない等)場合には演算が実行できない。At this time, instructions m and n are stored in EQS0 and EQS1, respectively, and the instruction management control unit 782 tries to send the 0-system instruction m, but it is not ready (the operation data is not loaded in the vector register). Etc.), the calculation cannot be executed.
この時他方の1系の命令nの発信が行われるが、そのEQ
S1が空きになってもこの状態ではEQB762には先頭(FIFO
のOUT側)にSU0系の命令n+1が入っているので、その
後に続くSU1系の次の命令m+1を発信ステージに移す
ことができず、SU0系の命令を追い越してSU1系の命令を
実行することができない点が問題である。At this time, the command n of the other 1 system is transmitted, but its EQ
Even if S1 becomes empty, the head (FIFO
Since the SU0 series command n + 1 is included in (OUT side of), the next SU1 series command m + 1 that follows cannot be moved to the transmission stage, and the SU1 system command is executed overtaking the SU0 system command. The problem is that you cannot do it.
本発明は複数のスカラユニットの系から送られた命令が
共通の令名発信キューバッファに混在しても、SU0系の
命令同士またはSU1系の命令同士では入力した順番通り
に出力するが、異なる系の命令相互の間では発信可能な
方を先に出力できるようにした情報処理装置における命
令発信制御方式を提供することを目的とする。According to the present invention, even if commands sent from a plurality of scalar unit systems are mixed in a common name transmission queue buffer, the SU0 system commands or the SU1 system commands output in the order in which they are input, but they are different. It is an object of the present invention to provide a command transmission control system in an information processing device that can output the one that can transmit between the commands of the system first.
[問題点を解決するための手段] 本発明の原理的機構を第1図に示す。[Means for Solving Problems] The principle mechanism of the present invention is shown in FIG.
第1図にはVCUの構成において、本発明による命令発信
キューに関係する基本的構成が示され、図には命令発信
キューの内、演算系のEQBに関係する構成だけを示し、
他のアクセス系のAQBに関係する構成も同様のものであ
り、図示省略した。なお、VCU内の命令発信キューに関
係する部分以外の構成は第7図の従来例と同様である。
第1図において、10はVPSR、11はEQB(演算系の命令発
信キューバッファ)、12はEQB制御部、13は書き込み制
御部、14は読み出し制御部、141はSU0系のEQB読み出し
ポインタキュー制御部、142はSU0系のEQB読み出しポイ
ンタキュー、143はSU1系のEQB読み出しポインタキュー
制御部、144はSU1系のEQB読み出しポインタキュー、145
はセレクタ、15、16は0系と1系のEQS0、EQS1を表す。FIG. 1 shows the basic structure related to the command transmission queue according to the present invention in the structure of the VCU, and FIG. 1 shows only the structure related to the EQB of the operation system in the command transmission queue.
The configuration related to the AQB of other access systems is also similar, and is not shown. The structure other than the part related to the command transmission queue in the VCU is the same as that of the conventional example shown in FIG.
In FIG. 1, 10 is a VPSR, 11 is an EQB (arithmetic instruction dispatch queue buffer), 12 is an EQB controller, 13 is a write controller, 14 is a read controller, 141 is a SU0 EQB read pointer queue control. , 142 is a SU0 system EQB read pointer queue, 143 is a SU1 system EQB read pointer queue control unit, 144 is a SU1 system EQB read pointer queue, 145
Is a selector, and 15 and 16 are EQS0 and EQS1 of 0 system and 1 system.
本発明は命令発信キューバッファの前段(VPSR)から送
られてきた0、1の両系の命令を、ランダムアクセス形
の命令発信キューバッファ(11)に混在して格納する際
に命令発信キューバッファ読み出しポインタキューを各
系画に格納し、その読み出しポインタキューは先入れ先
出し形でシフトさせることにより何れの読み出しポイン
タキューも先頭位置から次に発信可能な命令発信キュー
のポインタが出力されるようにし、各系内では順番通り
に命令を出力し、系間と系の間ではいずれでも任意に先
頭の発信可能な命令発信キューバッファを取り出すこと
ができるようにした。INDUSTRIAL APPLICABILITY The present invention is a command transmission queue buffer (11) that stores both 0 and 1 system instructions sent from the preceding stage (VPSR) of the command transmission queue buffer in a random access type command transmission queue buffer (11). The read pointer queue is stored in each system image, and the read pointer queue is shifted in a first-in first-out manner so that any of the read pointer queues outputs the pointer of the command transmission queue that can be transmitted next from the head position. The commands are output in order within the system, and the command transmission queue buffer at which the head can be transmitted can be arbitrarily taken out between the systems.
[作用] 第1図の動作を説明すると、VPSR10においてデコードと
例外チェックが行われた後、デコード結果に応じて演算
系のベクトル命令は演算系の命令発信キューであるEQB1
1に書き込まれる(直接命令発信ステージEQS0,15または
EQS1,16に移る条件を満たす場合を除く)。[Operation] To explain the operation of FIG. 1, after the decoding and exception check are performed in the VPSR10, the vector instruction of the arithmetic system is EQB1 which is the instruction transmission queue of the arithmetic system according to the decoding result.
Written to 1 (Direct command transmission stage EQS0,15 or
(Except when the conditions to move to EQS1,16 are satisfied).
その書き込みの際、EQB制御部12の書き込み制御部13に
よりBQB11の書き込み位置が指示される。この書き込み
と同時に読み出し制御部14において、その命令が0系か
1系かに応じて、その命令のEQB11の書き込み位置を表
すポインタをEQB読み出しポインタキュー142(または14
4)に格納する。この場合、EQB読み出しポインタキュー
制御部141(143)は新たにEQBに書き込まれたキュー
が、自分の系の命令である時は、EQB内に格納された自
分の系の命令の何番目であるかをカウントして、シフト
レジスタ形のEQB読み出しポインタキュー142(144)の
対応するレジスタ位置に入力して保持させる。At the time of writing, the writing control unit 13 of the EQB control unit 12 indicates the writing position of the BQB 11. At the same time as this writing, in the read control unit 14, depending on whether the instruction is the 0-system or the 1-system, the EQB read pointer queue 142 (or 14)
Store in 4). In this case, the EQB read pointer queue control unit 141 (143), when the queue newly written in the EQB is the instruction of its own system, is the number of the instruction of its own system stored in the EQB. Is counted and input to the corresponding register position of the shift register type EQB read pointer queue 142 (144) to be held.
これらの各EQB読み出しポインタキュー142、144は各々
自分の系の命令がEQS0,15またはEQS1,16から発信する
(実行のためのパイプラインに投入される)と、図示し
ない命令管理制御部からの指令によりセレクタ145で2
つのEQB読み出しポインタキュー142、144の一方の先頭
位置の内容(EQB11内に格納された各系の先頭の命令の
格納位置を表すポインタ)を出力して、そのポインタを
アドレスとしてEQB11から命令を取り出す。Each of these EQB read pointer queues 142 and 144 receives an instruction of its own system from EQS0,15 or EQS1,16 (puts it into the pipeline for execution) and sends an instruction from the instruction management control unit (not shown). 2 by selector 145 by command
The contents of the head position of one of the EQB read pointer queues 142 and 144 (a pointer indicating the storage position of the head instruction of each system stored in the EQB11) is output, and the instruction is fetched from the EQB11 using the pointer as an address. .
命令をEQB11から取り出して、次段のEQS0またはEQS1に
セットすると、EQB読み出しポインタキュー制御部141、
143は、EQB読み出しポインタキュー142、144の内の取り
出しが行われた系に対応する方が、全体に1つシフトし
て、次に古いキューのポインタを先頭位置に持ってく
る。When the instruction is fetched from EQB11 and set in the next stage EQS0 or EQS1, the EQB read pointer queue control unit 141,
In 143, one of the EQB read pointer queues 142 and 144 corresponding to the extracted system shifts by one to bring the pointer of the next oldest queue to the head position.
これにより、例えば、第1図のEQB11にSU0系のベクトル
命令(演算系)が、の順に入力し、SU1系のベクト
ル命令が、の順に入力して、EQB11の各番地1〜3
に交互に格納されている時に0系の命令がAQS0から発信
しない時には、1系の次の命令SU1のがSU0のを飛び
越して次のタイミング(AQS1が発信スタート後のタイミ
ング)でAQS1に移ることができる。As a result, for example, the SU0 type vector instructions (arithmetic type) are input to the EQB11 of FIG. 1 in the order of, and the SU1 type vector instructions are input in the order of
When the 0-series command is not transmitted from AQS0 while it is stored alternately, the next command of the 1st system, SU1, skips SU0 and moves to AQS1 at the next timing (the timing after AQS1 starts transmission). You can
[実施例] 本発明の実施例の構成を第2図に示す。この図におい
て、19はVPSR(ベクトルプリデコードステージレジス
タ)、20はアクセス系の命令発信キューバッファAQB、2
1はAQB制御部、22は演算系の命令発信キューバッファEQ
B、23はEQB制御部、24、25はアクセス系で0系と1系の
AQS0、AQS1、26、27は演算系で0系と1系のEQS0、EQS
1、28、29はアクセス系と演算系の各命令管理制御を表
す。[Embodiment] FIG. 2 shows the configuration of an embodiment of the present invention. In this figure, 19 is a VPSR (vector predecode stage register), 20 is an access-related instruction transmission queue buffer AQB, 2
1 is the AQB control unit, 22 is the instruction dispatch queue buffer EQ of the arithmetic system
B and 23 are EQB control units, and 24 and 25 are access systems of 0 system and 1 system.
AQS0, AQS1, 26, 27 are the operation system EQS0, EQS of system 0 and 1
Reference numerals 1, 28, and 29 represent instruction management control of access system and operation system.
第2図の実施例の構成はAQB20とEQB22とこれに関連する
構成以外について従来例の第7図の構成と同様であり、
SU0、SU1から送られたベクトル命令がVFSR0、VFSR1に受
け取られ、以下従来例の説明と同様にしてVPSR19に達す
る。VPSR19においてプリデコードと例外チェックが行わ
れてデコード結果に応じてアクセス系と演算系の命令が
分離して命令発信キューバッファAQB20とEQB22に入力し
て書き込まれる(但し、次段の対応する0系または1系
のAQSやEQSが空きでバッファAQB、EQBが空きの時は直接
次段に移る)。The configuration of the embodiment shown in FIG. 2 is the same as that of the conventional example shown in FIG. 7 except for the AQB20, EQB22 and the configuration related thereto.
The vector instructions sent from SU0 and SU1 are received by VFSR0 and VFSR1 and reach VPSR19 in the same manner as in the conventional example. Predecoding and exception checking are performed in VPSR19, and the access-related and arithmetic-related instructions are separated according to the decoding result and input and written to the instruction transmission queue buffers AQB20 and EQB22 (however, the corresponding 0-system in the next stage is written. Or if the AQS and EQS of the 1st system are empty and the buffers AQB and EQB are empty, move directly to the next stage).
AQB20とEQB22を制御するAQB制御部21とEQB制御部23は各
々に0系と1系のAQB読み出しポインタキューとEQB読み
出しポインタキューを備え、それぞれの先頭が常にAQB2
0とEQB22内の0系と1系の次に読み出す命令発信キュー
のポインタを出力する。The AQB control unit 21 and the EQB control unit 23, which control the AQB20 and EQB22, are provided with 0-system and 1-system AQB read pointer queues and EQB read pointer queues, respectively, and the head of each is always AQB2.
0 and the pointer of the command transmission queue to be read next to the 0 system and 1 system in the EQB22 are output.
第3図に演算系の命令発信キューバッファEQB22を制御
するEQB制御部23内の読み出し制御部の構成を示す(第
1図のEQB制御部12内の読み出し制御部14参照)。実際
には読み出し制御部にはSU0系とSU1系の2系統設けられ
るが、第3図にはその一方の系(説明上0系とする)の
構成を示す。FIG. 3 shows the configuration of the read control unit in the EQB control unit 23 that controls the instruction transmission queue buffer EQB22 of the arithmetic system (see the read control unit 14 in the EQB control unit 12 in FIG. 1). Actually, the read control unit is provided with two systems, SU0 system and SU1 system, and FIG. 3 shows the configuration of one system (0 system for explanation).
図において、30はEQBリードポインタキュー(RPQ)入力
ポインタ発生器(以下入力ポインタ発生器という)、31
はEQBリードポインタキュー(RPQ)書き込みイネーブル
発生器(以下書き込みイネーブル発生器という)、32は
EQB書き込みポインタ入力を符号化するエンコーダ、33
〜36は各々EQBリードポインタを保持するレジスタで、
各レジスタ段は次段にシフトするシフトレジスタ形式で
接続され、37はリードポインタのデコーダを表す。In the figure, 30 is an EQB read pointer queue (RPQ) input pointer generator (hereinafter referred to as an input pointer generator), 31
Is the EQB read pointer queue (RPQ) write enable generator (hereafter called the write enable generator), 32 is
Encoder to encode EQB write pointer input, 33
~ 36 is a register that holds the EQB read pointer,
Each register stage is connected in a shift register format for shifting to the next stage, and 37 represents a read pointer decoder.
第3図の構成の動作を説明すると、VPSR19(第2図参
照)からEQB22(第2図)に0系の演算命令がセットさ
れると、EQB22の格納位置を表すポインタがエンコーダ3
2の入力に与えられエンコードされる。The operation of the configuration shown in FIG. 3 will be described. When a 0-system operation instruction is set in the EQB22 (see FIG. 2) from the VPSR19 (see FIG. 2), the pointer indicating the storage position of the EQB22 is moved to the encoder 3
It is given to the second input and encoded.
一方、入力ポインタ発生器30では当該リードポインタキ
ュー(33〜36)の先頭(36)から何個の0系のリードポ
インタが格納されているかカウントしており、エンコー
ダ32の出力であるEQBポインタを格納すべきポインタ
(リードポインタキューにおけるポインタ)をそのカウ
ント情報を用いた論理動作によりIN0〜IN3のいずれかを
駆動することにより指定して対応するキュー(33〜36の
1つ)にセットする。On the other hand, the input pointer generator 30 counts how many 0-system read pointers are stored from the head (36) of the read pointer queue (33 to 36), and the EQB pointer output from the encoder 32 is counted. A pointer to be stored (a pointer in the read pointer queue) is designated by driving any of IN0 to IN3 by a logical operation using the count information, and is set in the corresponding queue (one of 33 to 36).
すなわち、このリードポインタキューには0系の演算命
令がEQBに格納された順番に、それぞれの格納位置が順
次連続してセットされる。That is, the storage positions of the 0-system operation instructions are sequentially set in the read pointer queue in the order in which they are stored in the EQB.
次にリードポインタキューにセットされた各リードポイ
ンタは先頭のキュー36から次段のEQS0,26に移る時(現
在のEQS0の命令がスタートして次のタイミングでEQB22
から先頭の命令をセットする時)、第3図のリードポイ
ンタキューの先頭キュー36の内容をデコーダ37でデコー
ドしてEQBの読み出しポインタ出力を発生させる。この
ポインタを用いてEQB22から読み出しを行うと、対応す
る命令が読み出されてEQS0にセットされる。Next, each read pointer set in the read pointer queue moves from the first queue 36 to the next EQS0, 26 (when the current EQS0 instruction starts and EQB22
(When the first instruction is set), the contents of the first queue 36 of the read pointer queue of FIG. 3 are decoded by the decoder 37 to generate the EQB read pointer output. When the EQB22 is read using this pointer, the corresponding instruction is read and set in EQS0.
このリードポインタキューの読み出しが行われると、同
時に後続のリードポインタキューをシフトするための操
作が書き込みイネーブル信号発生器31からの信号WE0〜W
E3の発生制御により行われる。また、この書き込みイネ
ーブル信号発生器31は、EQB22に新たに0系の演算命令
が格納される時にも対応するキューの入力ゲートに信号
(WE0〜WE3の1つ)を供給することによりEQBポインタ
の書き込みを制御する。When this read pointer queue is read, at the same time, an operation for shifting the subsequent read pointer queue is performed by the signals WE0 to W from the write enable signal generator 31.
It is performed by controlling the generation of E3. Further, the write enable signal generator 31 supplies a signal (one of WE0 to WE3) to the input gate of the corresponding queue even when a new 0-system operation instruction is stored in the EQB 22, and thus the EQB pointer Control writing.
次に第3図の構成における入力ポインタ発生器30と書き
込みイネーブル信号発生器31の各々の制御信号発生の論
理構成を第4図に示す。Next, FIG. 4 shows a logical configuration for generating control signals of the input pointer generator 30 and the write enable signal generator 31 in the configuration of FIG.
初めに入力ポインタ発生器(但し、EQBのSU0系)の信号
発生の論理構成について原理を説明する。First, the principle of the signal generation logic configuration of the input pointer generator (however, EQB SU0 system) will be described.
IN0信号はキュー36(第3図参照)へEQB入力ポインタを
セットするためのポインタ信号であり、その発生条件
は、 、SU0の命令(0系の当然演算系命令)が入り、かつ
現在EQB22に0系の演算系命令が1つもセットされてな
い(NUMはこのリードポインタキューにセットされたポ
インタキューの個数(ナンバー)を表し、NUM0は0個を
表す)時。The IN0 signal is a pointer signal for setting the EQB input pointer to the queue 36 (see FIG. 3), and the condition for its generation is that an SU0 instruction (0 system operation instruction) is entered and the EQB22 is currently in the EQB22. When no operation instruction of 0 system is set (NUM represents the number (number) of pointer queues set in this read pointer queue, and NUM0 represents 0).
リードポインタキューが1個格納されている時にEQB2
2の先頭の0系が演算命令が次段のEQS0へ命令発信のた
めに移った場合。EQB2 when one read pointer queue is stored
When the 0-system at the head of 2 moves the operation instruction to EQS0 in the next stage to send the instruction.
このとの何れかの論理が成立するとポインタ信号IN
0が発生する。以下IN1〜IN3についても図に示すような
論理構成により信号が発生する。なお、記号の上部の線
は否定を表す。When either of these logics is established, the pointer signal IN
0 is generated. In the following, signals are also generated for IN1 to IN3 by the logical configuration shown in the figure. The line above the symbol represents negation.
書き込みイネーブル信号発生器の信号発生の論理構成も
第4図に示すとおりである。その中で、各信号WE0〜WE3
の式の最初の項はEQBから命令が発信のためにEQS0へ移
った時に全体をシフトさせる時に発生し、次の項は新た
に命令がEQBに格納される時に発生するものである。The logic configuration of signal generation of the write enable signal generator is also as shown in FIG. Among them, each signal WE0 to WE3
The first term in the equation of occurs when the instruction shifts from EQB to EQS0 for transmission, and the next term occurs when a new instruction is stored in EQB.
式中のSU1.INSTの否定は、スカラユニット1の命令(イ
ンストラクション)ではない、ことを表す。Negation of SU1.INST in the expression indicates that it is not an instruction (instruction) of the scalar unit 1.
以上に述べたEQBとリードポインタキュー(RPQで表す)
の関係を説明する図を第5図に示す。EQB and read pointer queue described above (represented by RPQ)
FIG. 5 is a diagram for explaining the relationship of the above.
第5図においてEQB50にはポインタ(または識別番号)
0〜3の4個の格納位置があり、各々には図に示すよう
に0系のn番とn+1番の命令と1系のm番とm+1番
の命令が交互に順に格納されている。この時、SU0系のE
QB.RPQ51とSU1系のEQB.RPQ52にはそれぞれ先頭位置から
順にEQBの格納位置順にEQBポインタ(“ ”内の数値)
が実線と点線の矢印で示すリードポインタ位置にセット
される。In Figure 5, EQB50 has a pointer (or identification number)
There are four storage positions 0 to 3, and as shown in the figure, the nth and n + 1th instructions of the 0th system and the mth and m + 1th instructions of the 1st system are alternately stored in order. At this time, E of SU0 series
In QB.RPQ51 and EQ1.RPQ52 of SU1 series, EQB pointers (numerical values in "") are stored in order of the EQB storage positions from the beginning position.
Is set to the read pointer position indicated by the solid and dotted arrows.
[発明の効果] 本発明によれば命令発信キューを複数のスカラユニット
系で共有して経済化を達成しつつ複数のスカラユニット
系の命令相互の間で追い越しが可能となり命令発信が効
率良く行うことができ、計算器の有効利用を図ることが
できる。[Effects of the Invention] According to the present invention, it is possible to share a command transmission queue among a plurality of scalar unit systems and achieve economy, while overtaking among commands of a plurality of scalar unit systems, thus efficiently transmitting commands. Therefore, it is possible to effectively use the calculator.
第1図は本発明の原理的構成を示す図、第2図は本発明
の実施例の構成を示す図、第3図は読み出しポインタキ
ューと制御部の構成を示す図、第4図は制御信号発生器
の論理構成を示す図、第5図はEQBとリードポインタキ
ューの関係を説明する図、第6図は従来のマルチシステ
ムのVUの構成を示す図、第7図は従来のマルチシステム
のVCUの構成を示す図である。 第1図中、 10:VPSR 11:EQB(演算系命令発信キューバッファ) 12:EQB制御部、 13:書き込み制御部 14:読み出し制御部 141:SU0系のEQB読み出しポインタキュー制御部 142:SU0系のEQB読み出しポインタキュー 143:SU1系のEQB読み出しポインタキュー制御部 144:SU1系のEQB読み出しポインタキュー 145:セレクタ 15:0系のEQS0 16:1系のEQS1FIG. 1 is a diagram showing a basic configuration of the present invention, FIG. 2 is a diagram showing a configuration of an embodiment of the present invention, FIG. 3 is a diagram showing configurations of a read pointer queue and a control unit, and FIG. 4 is a control. FIG. 5 is a diagram showing the logical configuration of the signal generator, FIG. 5 is a diagram for explaining the relationship between the EQB and the read pointer queue, FIG. 6 is a diagram showing the configuration of a conventional multi-system VU, and FIG. 7 is a conventional multi-system. 5 is a diagram showing the configuration of a VCU of FIG. In Fig. 1, 10: VPSR 11: EQB (arithmetic system instruction send queue buffer) 12: EQB control unit, 13: Write control unit 14: Read control unit 141: SU0 system EQB read pointer queue control unit 142: SU0 system EQB read pointer queue 143: SU1 system EQB read pointer queue controller 144: SU1 system EQB read pointer queue 145: Selector 15: 0 system EQS0 16: 1 system EQS1
Claims (1)
ト(SU0,SU1)とこれらのスカラユニットから送られる
ベクトル命令を処理するベクトルユニット(VU)から構
成され、 ベクトルユニット内のベクトル制御部(VCU)に各スカ
ラユニットの命令毎の命令発信ステージ(EQS0,EQS1)
の前段において各スカラユニットの命令間で共有してセ
ットされる命令発信キューバッファ(EQB)を備えた情
報処理装置において、 各スカラユニット毎に命令発信キューの読み出しポイン
タキュー(142,144)と、読み出しポインタキュー制御
部(141,143)とを設け、 該読み出しポインタキュー制御部(141,143)は、命令
発信キューバッファ(EQB)に命令をセットする時に、
その命令発信キューバッファのポインタを読み出しポイ
ンタキューにセットし、命令発信キューから出力される
時に該読出しポインタキュー(142,144)をシフトさ
せ、各スカラユニット毎の読み出しポインタキューの先
頭が命令発信キューの各スカラユニット毎の命令の読み
出し位置を示すよう制御することを特徴とする情報処理
装置における命令発信制御方式。1. A vector control unit (VCU) in a vector unit, comprising a plurality of scalar units (SU0, SU1) for processing scalar instructions and a vector unit (VU) for processing vector instructions sent from these scalar units. ) To the instruction output stage (EQS0, EQS1) for each instruction of each scalar unit
In an information processing device equipped with an instruction transmission queue buffer (EQB) that is shared and set between the instructions of each scalar unit in the preceding stage, a read pointer queue (142, 144) and a read pointer of the instruction transmission queue for each scalar unit A queue control unit (141, 143) is provided, and when the read pointer queue control unit (141, 143) sets an instruction in the instruction transmission queue buffer (EQB),
The pointer of the command transmission queue buffer is set to the read pointer queue, the read pointer queue (142, 144) is shifted when output from the command transmission queue, and the head of the read pointer queue for each scalar unit is A command transmission control method in an information processing device, characterized by controlling so as to indicate a command reading position for each scalar unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32825787A JPH0719247B2 (en) | 1987-12-24 | 1987-12-24 | Command transmission control method in information processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32825787A JPH0719247B2 (en) | 1987-12-24 | 1987-12-24 | Command transmission control method in information processing apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01169573A JPH01169573A (en) | 1989-07-04 |
| JPH0719247B2 true JPH0719247B2 (en) | 1995-03-06 |
Family
ID=18208197
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32825787A Expired - Fee Related JPH0719247B2 (en) | 1987-12-24 | 1987-12-24 | Command transmission control method in information processing apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0719247B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6807624B1 (en) | 1998-12-17 | 2004-10-19 | Fujitsu Limited | Instruction control device and method therefor |
-
1987
- 1987-12-24 JP JP32825787A patent/JPH0719247B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01169573A (en) | 1989-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5251306A (en) | Apparatus for controlling execution of a program in a computing device | |
| US5185868A (en) | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy | |
| US4320455A (en) | Queue structure for a data processing system | |
| US5247628A (en) | Parallel processor instruction dispatch apparatus with interrupt handler | |
| EP0269980B1 (en) | Data processor for parallelly executing conflicting instructions | |
| US5636353A (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating results bypassing | |
| EP0272705B1 (en) | Loosely coupled pipeline processor | |
| JPH06103494B2 (en) | Vector processor control system | |
| JP2003196084A (en) | System with read modify write unit | |
| US5001627A (en) | Multiprocessor control system for selectively executing vector instructions from scaler units to be executed in a vector unit | |
| JPH0628051B2 (en) | Memory control method | |
| US5619730A (en) | Pipelining device in a parallel processing apparatus and an instruction supplying method therefor | |
| JPH03286332A (en) | Digital data processor | |
| JP2518293B2 (en) | Data Flow Processor | |
| JPH0640314B2 (en) | Multi-channel shared resource processor | |
| EP0496407A2 (en) | Parallel pipelined instruction processing system for very long instruction word | |
| EP0797803B1 (en) | Chunk chaining for a vector processor | |
| JPH0719247B2 (en) | Command transmission control method in information processing apparatus | |
| RU2198422C2 (en) | Asynchronous synergistic computer system | |
| US20250306932A1 (en) | Hardware Managed Synchronization of Coprocessor Instruction Execution | |
| JPH0769895B2 (en) | Command transmission control method | |
| JPH06309349A (en) | Program controlled processor | |
| JPS629460A (en) | Instruction control system for multi-processor system | |
| JPH0685166B2 (en) | Instruction control method for multiprocessor system | |
| KR100301112B1 (en) | Scheduler of graphic processor in single chip multiprocessor and scheduling method using the same |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |