JPH0512751B2 - - Google Patents
Info
- Publication number
- JPH0512751B2 JPH0512751B2 JP59033531A JP3353184A JPH0512751B2 JP H0512751 B2 JPH0512751 B2 JP H0512751B2 JP 59033531 A JP59033531 A JP 59033531A JP 3353184 A JP3353184 A JP 3353184A JP H0512751 B2 JPH0512751 B2 JP H0512751B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- storage device
- unit
- data
- vector
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
(a) 発明の技術分野
本発明はベクトル処理装置において、先行する
命令の処理結果を後続の命令の入力オペランドと
して使用する場合における、後続命令の実行開始
時期の制御方式に関する。Detailed Description of the Invention (a) Technical Field of the Invention The present invention relates to a method for controlling the execution start timing of a subsequent instruction in a vector processing device when the processing result of a preceding instruction is used as an input operand of the subsequent instruction. Regarding.
(b) 技術の背景
ベクトル処理装置は、ベクトルのエレメントで
ある複数の単位データを有する第2オペランドA
=a0,a1,……,ai,……,ao-1と、複数の単位
データを有する第3オペランドB=b0,b1,…
…,bi,……,bo-1との対応する単位データ間に
演算を行い、処理結果の第1オペランドC=c0,
c1,……,ci,……,co-1を得ることを基本機能
とするものである。例えばベクトル演算C=A+
Bは、単位データの演算ci=ai+biのn回の繰り
返しで構成される。(b) Technical Background A vector processing device processes a second operand A that has a plurality of unit data that are elements of a vector.
= a0, a1, ..., ai, ..., a o-1 , and the third operand B having multiple unit data = b0, b1, ...
..., bi, ..., b o-1 and the first operand C = c0,
Its basic function is to obtain c1, ..., ci, ..., c o-1 . For example, vector operation C=A+
B consists of unit data calculation ci=ai+bi repeated n times.
このような演算は、ベクトル処理装置におい
て、ベクトル命令の実行として遂行される。ベク
トル命令は一般に、命令コード、第1オペランド
指定部、第2オペランド指定部及び第3オペラン
ド指定部を有し、例えば「VM1,2,3」は、
ベクトル・レジスタ2とベクトル・レジスタ3の
内容を乗算した結果をベクトル・レジスタ1に格
納することを指定するベクトル乗算命令である。 Such operations are performed in the vector processing device as execution of vector instructions. A vector instruction generally has an instruction code, a first operand specification part, a second operand specification part, and a third operand specification part; for example, "VM1, 2, 3" is
This is a vector multiplication instruction that specifies that the contents of vector register 2 and vector register 3 are multiplied and the result is stored in vector register 1.
(c) 従来技術と問題点
第1図はベクトル処理装置の一例を示す図で、
ベクトル処理装置200は主記憶制御装置2を介
して主記憶装置1と接続され、主記憶装置上のデ
ータを処理するが、処理の対象となるデータは主
記憶装置1とベクトル・レジスタ記憶装置4の間
でブロツク転送され、演算の直接の対象は記憶装
置4のデータである。このデータ転送はロード処
理部7及びストア処理部8において処理される。
演算は演算処理部6の加算器9及び乗除算器10
により処理される。命令制御部5は以上の各部を
制御する。(c) Prior art and problems Figure 1 shows an example of a vector processing device.
The vector processing device 200 is connected to the main storage device 1 via the main storage control device 2 and processes data on the main storage device, but the data to be processed is stored in the main storage device 1 and the vector register storage device 4. The direct target of the operation is the data in the storage device 4. This data transfer is processed by the load processing section 7 and the store processing section 8.
Calculations are performed by the adder 9 and multiplier/divider 10 of the arithmetic processing unit 6.
Processed by The command control section 5 controls each of the above sections.
ベクトル命令を高速に実行する為に、ロード処
理部7、ストア処理部8、加算器9、乗除算器1
0等は並行して動作可能とされ、且つ所謂パイプ
ライン制御方式によつて、複数の命令の実行が並
行処理される。このようなベクトル処理装置にお
いて、或る命令に続いてその実行結果を入力オペ
ランドとする後続命令がある場合(このような状
態をレジスタ干渉という。)には、後続命令の開
始は先行命令の実行状態に同期させる為に、特別
の考慮が必要になる。このような場合の後続命令
の開始を制御する為の改善された方式が、同じ出
願人の特許出願公開である特開昭57−206982「命
令制御方式」に開示されている。 In order to execute vector instructions at high speed, a load processing unit 7, a store processing unit 8, an adder 9, a multiplier/divider 1
0, etc. can operate in parallel, and multiple instructions are executed in parallel using a so-called pipeline control method. In such a vector processing device, when a certain instruction is followed by a subsequent instruction that uses its execution result as an input operand (this situation is called register interference), the start of the subsequent instruction is delayed by the execution of the preceding instruction. Special considerations are required to synchronize the state. An improved system for controlling the initiation of subsequent commands in such cases is disclosed in Japanese Patent Application Laid-Open No. 57-206982, ``Instruction Control System'', published by the same applicant.
第2図はこの発明を適用して、乗算命令VMと
加算命令VAを実行する場合のタイミングを示
す。図において、IFは命令フエツチ、Dは命令
デコード、Qは待ち合わせ、Eは命令の実行の各
フエーズを示す。図に示されるように、先行命令
の実行結果の単位データの書込みが開始された時
に実行中命令管理部からライト・フラグ信号を出
し、その他の条件が満たされていれば、ライト・
フラグ信号によつて後続命令を開始させる。これ
によりベクトル処理装置の資源が有効に利用でき
るようになる。 FIG. 2 shows the timing when executing the multiplication instruction VM and addition instruction VA by applying the present invention. In the figure, IF represents an instruction fetch, D represents an instruction decode, Q represents a waiting phase, and E represents an instruction execution phase. As shown in the figure, a write flag signal is output from the executing instruction management unit when writing of unit data of the execution result of the preceding instruction is started, and if other conditions are met, the write flag signal is output.
A flag signal initiates a subsequent instruction. This allows the resources of the vector processing device to be used effectively.
しかし、第2図に示した方式は、もし先行命令
のパイプラインの中に処理時間の長いステージが
あり、従つて結果の書込み速度が、後続命令によ
る同じデータの読み出し速度より遅くなる場合に
は適用できない。従つて、従来このような組合せ
の場合には、先行命令の実行完了を待つて、後続
命令を開始しなければならず、ベクトル処理装置
の資源の遊び時間を大きくしていた。 However, the method shown in Figure 2 does not work if there is a stage in the pipeline of the preceding instruction that takes a long processing time, and therefore the writing speed of the result is slower than the reading speed of the same data by the subsequent instruction. Not applicable. Therefore, in the conventional case of such a combination, it is necessary to wait for the completion of execution of the preceding instruction before starting the subsequent instruction, which increases the idle time of the resources of the vector processing device.
(d) 発明の目的
従つて本発明の目的は、ベクトル処理装置にお
ける上記の問題点にかんがみ、先行命令の処理速
度が後続命令の処理速度より遅い場合における、
両命令の実行処理並行度を高める為の改善された
方式を提供するにある。(d) Object of the Invention Therefore, in view of the above-mentioned problems in vector processing devices, the object of the present invention is to provide a method for processing when the processing speed of the preceding instruction is slower than the processing speed of the subsequent instruction.
The object of the present invention is to provide an improved method for increasing the parallelism of execution of both instructions.
(e) 発明の構成
本発明の目的は、順序づけられた複数の単位デ
ータに一定の順序で順次アクセスする記憶装置
と、該記憶装置のデータを処理する第1演算部及
び第2演算部とを有し、第2演算部は該記憶装置
のアクセスサイクルに等しい処理時間で、各該単
位データを該アクセス順に処理し、第1演算部は
第2演算部の整数X倍の処理時間を要し、該記憶
装置の同一の単位データ列にX回の反復アクセス
を行う内の、該列の各該単位データごと1回のア
クセスのみを有効アクセスとして、当該単位デー
タを処理するベクトル処理装置において、第1の
命令に続いて第2の命令を実行し、第1の命令は
第1演算部を使用して実行し、第2の命令は第1
の命令の処理結果である該記憶装置のデータをオ
ペランドとし、第2演算部を使用して実行する場
合に、第1の命令の該処理結果データを該記憶装
置に格納するための第X回の該反復アクセスを行
う最初の該単位データのアクセス開始時以後であ
つて、該処理結果の最終単位データの格納処理開
始時より前に、第2の命令の実行を開始するよう
に構成されていることを特徴とする命令制御方式
により達成される。(e) Structure of the Invention An object of the present invention is to provide a storage device that sequentially accesses a plurality of ordered unit data in a fixed order, and a first calculation unit and a second calculation unit that process the data in the storage device. The second arithmetic unit processes each of the unit data in the access order in a processing time equal to the access cycle of the storage device, and the first arithmetic unit requires an integer X times the processing time of the second arithmetic unit. , in a vector processing device that processes unit data by treating only one access for each unit data of the column as a valid access among X repeated accesses to the same unit data column of the storage device, A second instruction is executed following the first instruction, the first instruction is executed using the first arithmetic unit, and the second instruction is executed using the first operation unit.
The Xth time for storing the processing result data of the first instruction in the storage device when the data in the storage device which is the processing result of the instruction is used as an operand and is executed using the second arithmetic unit. The second instruction is configured to start executing the second instruction after the first access start of the unit data to be repeatedly accessed and before the start of storage processing of the final unit data of the processing result. This is achieved by a command control method characterized by:
(f) 発明の実施例
以下に本発明の実施例を説明するが、その前に
本発明の適用に好適なベクトル・レジスタ記憶装
置4の構成について簡単に述べる。(f) Embodiments of the Invention Embodiments of the present invention will be described below, but before that, the configuration of a vector register storage device 4 suitable for application of the present invention will be briefly described.
そのような記憶装置は、第3図に概要を例示す
るように、複数のバンクからなり(図はバンク1
00〜107の8バンクの例)、アドレス回路1
4によつてアドレス0〜M−1の1を選択するこ
とにより、該アドレスに属する全バンクの単位デ
ータにアクセスできる。その場合各バンクは一定
のアクセスサイクルごとにバンク100から10
7へ順にアクセスされる。アクセスするバンクは
セレクタ120及び121により選択される。1
10は記憶装置の制御回路である。 Such a storage device consists of a plurality of banks (bank 1 is shown in the figure), as schematically illustrated in FIG.
Example of 8 banks from 00 to 107), address circuit 1
By selecting 1 from addresses 0 to M-1 using 4, unit data of all banks belonging to the address can be accessed. In that case, each bank receives 100% of the data from 100 to
7 is accessed in order. The bank to be accessed is selected by selectors 120 and 121. 1
10 is a control circuit for the storage device.
このような記憶装置において、アクセス源6の
スループツト(時間当たりの入出力可能データ
量)が記憶装置のスループツトより小さい場合の
アクセス制御方式については、同じ出願人の特許
出願(特願昭59−20313号)「記憶装置アクセス制
御方式」に開示されている。それによれば、アク
セス源のスループツトが記憶装置のそれの1/X
より大きくなるような整数Xを選び、上記のよう
にして行われるバンクへの順次アクセスをX回繰
り返す。この間にX回に1回のみを有効アクセス
としてアクセスすることにより、1/Xのスルー
プツトで全バンクにアクセスできる。 In such a storage device, an access control method when the throughput (amount of data that can be input/output per time) of the access source 6 is smaller than the throughput of the storage device is disclosed in a patent application filed by the same applicant (Japanese Patent Application No. 59-20313). No.) ``Storage Device Access Control Method''. According to this, the throughput of the access source is 1/X that of the storage device.
An integer X that is larger is selected, and the sequential bank access performed as described above is repeated X times. During this time, by accessing only once every X times as a valid access, all banks can be accessed with a throughput of 1/X.
本発明の最も好適な実施例として、上記の記憶
装置をベクトル・レジスタ記憶装置4に使用する
ベクトル処理装置の命令制御方式を述べる。 As the most preferred embodiment of the present invention, an instruction control system for a vector processing device using the above storage device as the vector register storage device 4 will be described.
第4図は命令制御装置である。主記憶装置1か
らフエツチされたベクトル命令が命令フエツチ用
Dレジスタ11にセツトされる。この命令はデコ
ーダ12によつてデコードされる。デコードされ
た命令情報は待ち合わせ用Qレジスタ13にセツ
トされる。命令発信制御回路14は、Qレジスタ
13及び実行中命令管理部15−1又は15−2
からの情報によつて、命令発信の可否を判断し、
発信可能な場合には、空きの実行中命令管理部1
5−1又は15−2へQレジスタ13内の命令情
報を転送する。 FIG. 4 shows a command control device. The vector instruction fetched from the main memory 1 is set in the instruction fetch D register 11. This instruction is decoded by decoder 12. The decoded instruction information is set in the waiting Q register 13. The instruction transmission control circuit 14 includes a Q register 13 and an executing instruction management section 15-1 or 15-2.
Based on the information from the
If it is possible to make a call, the vacant executing command management unit 1
The instruction information in the Q register 13 is transferred to 5-1 or 15-2.
実行中命令管理部15−1は、実行中命令用
E1レジスタ16−1、計数回路17−1及びラ
イト・フラグ18−1を有する。E1レジスタ1
6−1には、対応する演算処理部で実行される命
令情報がセツトされる。計数回路17−1はE1
レジスタ16−1に命令情報がセツトされた時に
時間計数を開始し、その命令情報で定まる時間を
計数した時に、ライト・フラグ18−1をオンに
セツトする。実行中命令管理部15−2も15−
1と同様の構成を有する。 The executing instruction management unit 15-1 is for executing instructions.
It has an E1 register 16-1, a counting circuit 17-1, and a write flag 18-1. E1 register 1
In 6-1, instruction information to be executed by the corresponding arithmetic processing section is set. Counting circuit 17-1 is E1
Time counting is started when the instruction information is set in the register 16-1, and when the time determined by the instruction information has been counted, the write flag 18-1 is set on. The executing instruction management unit 15-2 is also 15-
It has the same configuration as 1.
命令発信制御回路14は、命令発信先の演算
処理部及び実行中命令管理部が空いているか、
命令オペランドのベクトル・レジスタの干渉が無
いか、ライト・フラグがオンか等により命令発
信可否を判定する。こゝでベクトル・レジスタの
干渉とは、ベクトル・レジスタ記憶装置上のレジ
スタにおいて、前記のレジスタ干渉がある状態を
言う。この干渉が検出された場合には、他の条件
が満足されていても、先行命令についてライト・
フラグ18−1または18−2がオンとなるま
で、命令発信を待つ。 The command transmission control circuit 14 determines whether the arithmetic processing unit and the executing command management unit to which the command is transmitted are vacant.
It is determined whether the command can be issued based on whether there is any interference with the vector register of the command operand, whether the write flag is on, etc. Here, vector register interference refers to a state in which the above-mentioned register interference occurs in the registers on the vector register storage device. If this interference is detected, a write request will be made for the preceding instruction, even if other conditions are met.
The command transmission is waited until the flag 18-1 or 18-2 is turned on.
第5図は命令発信制御回路14内にある、レジ
スタ干渉チエツク回路の実施例である。図示の回
路は実行中命令管理部15−1に対応する回路で
あり、命令発信制御回路14には、同様の回路が
実行中命令管理部15−2に対応して別に1組設
けられる。 FIG. 5 shows an embodiment of a register interference check circuit within the instruction generation control circuit 14. The illustrated circuit corresponds to the executing command management unit 15-1, and the command transmission control circuit 14 is provided with another set of similar circuits corresponding to the executing command management unit 15-2.
図においてライト・フラグ信号はライト・フラ
グ18−1からの信号であり、その他の入力信号
はそれぞれE1レジスタ16−1及びQレジスタ
13内の命令情報のうちのオペランド・レジスタ
番号情報である。 In the figure, the write flag signal is a signal from the write flag 18-1, and the other input signals are operand register number information of the instruction information in the E1 register 16-1 and Q register 13, respectively.
E1レジスタの第1オペランド・レジスタ番号、
即ち実行中命令の結果格納先レジスタ番号、とQ
レジスタの第2又は第3オペランド・レジスタ番
号とが一致すると、それぞれの比較回路19又は
20の“1”出力が論理積ゲート21又は22に
入力する。この時、否定回路23のライト・フラ
グ信号入力が“0”であれば、ゲート21又は2
2の少なくとも一方の出力は“1”となり、論理
和ゲート24を経て命令発信待ち信号が“1”と
なる。その他の条件においては、命令発信待ち信
号は“0”である。命令発信制御回路14におい
て、命令発信待ち信号が“1”である間、Qレジ
スタ13にある待ち合わせ命令の発信は抑制され
る。 The first operand register number of the E1 register,
In other words, the result storage destination register number of the instruction being executed, and Q
When the second or third operand register number of the register matches, the "1" output of the respective comparator circuit 19 or 20 is input to the AND gate 21 or 22. At this time, if the write flag signal input to the NOT circuit 23 is "0", the gate 21 or 2
At least one output of 2 becomes "1", and the command transmission wait signal becomes "1" through the OR gate 24. Under other conditions, the command transmission wait signal is "0". In the command transmission control circuit 14, while the command transmission wait signal is "1", transmission of the waiting command in the Q register 13 is suppressed.
第6図は本発明によるベクトル命令実行の一例
を示す。図は下記のような2命令がの順に実
行されるべき場合である。 FIG. 6 shows an example of vector instruction execution according to the present invention. The figure shows a case where the following two instructions are to be executed in the following order.
VD 1,2,3
VA 4,5,1
こゝで、のVD命令はベクトル・レジスタ番
号2と番号3とのベクトル間の除算を実行し、結
果をベクトル・レジスタ番号1に格納する命令で
あり、のVA命令はベクトル・レジスタ番号5
と番号1とのベクトル間の加算を実行し、結果を
ベクトル・レジスタ番号4に格納する命令であ
る。従つて、両命令間にはレジスタ番号1におい
てレジスタ干渉がある。 VD 1, 2, 3 VA 4, 5, 1 Here, the VD instruction executes division between the vectors of vector register number 2 and number 3, and stores the result in vector register number 1. Yes, the VA instruction is vector register number 5
This instruction executes addition between the vectors 1 and 1 and stores the result in vector register number 4. Therefore, there is register interference in register number 1 between both instructions.
又、の命令は各ベクトル要素の除算におい
て、演算回路を5サイクル間保留するものとし、
この為にベクトル・レジスタ記憶装置4と演算部
6との単位データの入出力は、前記特許出願(特
願昭59−20313号)の方式により、5サイクルに
1回を有効アクセスとして実行される。 In addition, the instruction holds the arithmetic circuit for 5 cycles in the division of each vector element,
For this reason, the input/output of unit data between the vector register storage device 4 and the arithmetic unit 6 is executed with one valid access every five cycles according to the method of the aforementioned patent application (Japanese Patent Application No. 59-20313). .
第6図は左から右へ時間の流れを示し、菱形は
各命令実行パイプラインのステージの進行を、上
から下の方向の流れとして表している。IF,D,
Q,E等の記号の意味は第2図と同じである。
VD命令の流れにおける最下段は演算結果をベク
トル・レジスタ記憶装置に格納するステージであ
り、数字は各サイクルでアクセスする記憶装置バ
ンクの番号を示し、このうち番号を□で囲んで示
すバンクが有効アクセスとしてアクセスされるこ
とを示している。本例でベクトルは8個の単位デ
ータで構成され、記憶装置の同じアドレスにアク
セスを5回繰り返し、合計40サイクルのアクセス
によつて8データを入/出力するものとしてい
る。 FIG. 6 shows the flow of time from left to right, and the diamonds represent the progress of the stages of each instruction execution pipeline as a flow from top to bottom. IF,D,
The meanings of symbols such as Q and E are the same as in Figure 2.
The lowest stage in the VD instruction flow is the stage where the operation result is stored in the vector register storage device, and the number indicates the number of the storage device bank accessed in each cycle. Among these, the bank whose number is surrounded by □ is valid. Indicates that it will be accessed as an access. In this example, the vector is composed of eight unit data, and the same address in the storage device is accessed five times, and eight data are input/output through a total of 40 cycles of access.
他方、のベクトル加算命令VAでは、パイプ
ラインの全ステージが1サイクルで進むので、ベ
クトル・レジスタ記憶装置4とのデータ入出力は
毎サイクル可能であり、8サイクルで全データを
入/出力できる。 On the other hand, in the vector addition instruction VA, all stages of the pipeline advance in one cycle, so data can be input/output to/from the vector register storage device 4 every cycle, and all data can be input/output in eight cycles.
VD命令がE1レジスタ16−1にセツトされ
ると、計数回路17−1が時間計数を開始し、毎
サイクル+1されて、計数値が設定値になると、
ライト・フラグ18−1をオン(“1”)にする。
従つて第5図のライト・フラグ信号が“1”にな
つて命令発信待ち信号が“0”になるので、命令
発信制御回路14において、Qレジスタ13にあ
るVA命令が実行中命令用E2レジスタ16−2に
セツトされ、VA命令の実行が開始される。 When the VD instruction is set in the E1 register 16-1, the counting circuit 17-1 starts counting time, and is incremented by 1 every cycle, and when the counted value reaches the set value,
The write flag 18-1 is turned on (“1”).
Therefore, the write flag signal shown in FIG. 5 becomes "1" and the command transmission wait signal becomes "0", so that in the command transmission control circuit 14, the VA instruction in the Q register 13 is transferred to the E2 register for executing instructions. 16-2, and execution of the VA instruction is started.
上記において、計数回路17−1の設定値は、
ベクトル・レジスタ記憶装置4の各バンクへX回
の繰り返しアクセスをするアクセス制御方式にお
いて、第X回アクセスの開始時点を決定するよう
に設定される。従つて、上記のように毎サイクル
カウントアツプする計数回路を使用する場合の設
定値は、バンク数をN、繰り返しアクセス回数を
Xとした場合、N(X−1)と、命令実行開始か
ら最初の結果を格納するまでの時間により定ま
る。後者の値を10サイクルとすると、本例の設定
値は8×(5−1)+10=42となる。 In the above, the setting value of the counting circuit 17-1 is
In an access control method in which each bank of the vector register storage device 4 is accessed repeatedly X times, a setting is made to determine the start point of the X-th access. Therefore, when using a counting circuit that counts up every cycle as described above, the set value is N(X-1), where the number of banks is N and the number of repeated accesses is X, which is the first value from the start of instruction execution. It is determined by the time it takes to store the results. If the latter value is 10 cycles, the set value in this example is 8×(5-1)+10=42.
(g) 発明の効果
以上の説明から明らかなように、本発明によれ
ば、レジスタ干渉があり、且つ先行ベクトル命令
が後続ベクトル命令より長い処理時間を要する場
合において、後続命令の実行開始時期を、先行命
令の実行完了以前まで早めることができるので、
ベクトル処理装置の実行並行度を高め、従つて装
置の処理性能を改善することができる。(g) Effects of the Invention As is clear from the above description, according to the present invention, when there is register interference and the preceding vector instruction requires a longer processing time than the subsequent vector instruction, the execution start time of the subsequent instruction can be determined. , it is possible to advance the execution to before the completion of the preceding instruction.
It is possible to increase the parallelism of execution of the vector processing device and thus improve the processing performance of the device.
第1図はベクトル処理装置の概要を示す図、第
2図は従来の命令列処理タイミング例を示す図、
第3図はベクトル・レジスタ記憶装置の例を示す
図、第4図は本発明の命令制御装置の実施例のブ
ロツク図、第5図は命令発信制御回路内のレジス
タ干渉チエツク回路の実施例のブロツク図、第6
図は本発明の命令列処理タイミング例を示す図で
ある。
図において、200はベクトル処理装置、1は
主記憶装置、2は主記憶制御装置、3はメモリ・
アクセス処理部、4はベクトル・レジスタ記憶装
置、5は命令制御部、6は演算処理部、11は命
令フエツチ用Dレジスタ、13は待ち合わせ用Q
レジスタ、14は命令発信制御回路、15−1及
び15−2は実行中命令管理部、16−1及び1
6−2はそれぞれ実行中命令用E1及びE2レジス
タ、17−1及び17−2は計数回路、18−1
及び18−2はライト・フラグ、19及び20は
比較回路、21及び22は論理積ゲート、23は
否定ゲート、24は論理和ゲート、100〜10
7は記憶装置バンク、110は記憶装置の制御回
路である。
FIG. 1 is a diagram showing an overview of a vector processing device, FIG. 2 is a diagram showing an example of conventional instruction sequence processing timing,
FIG. 3 is a diagram showing an example of a vector register storage device, FIG. 4 is a block diagram of an embodiment of the instruction control device of the present invention, and FIG. 5 is a diagram of an embodiment of the register interference check circuit in the instruction generation control circuit. Block diagram, No. 6
The figure is a diagram showing an example of instruction sequence processing timing of the present invention. In the figure, 200 is a vector processing device, 1 is a main storage device, 2 is a main storage control device, and 3 is a memory controller.
Access processing unit, 4 is a vector register storage device, 5 is an instruction control unit, 6 is an arithmetic processing unit, 11 is a D register for instruction fetching, and 13 is a Q for waiting.
register, 14 is an instruction transmission control circuit, 15-1 and 15-2 are executing instruction management units, 16-1 and 1
6-2 are E1 and E2 registers for instructions being executed, 17-1 and 17-2 are counting circuits, 18-1
and 18-2 are write flags, 19 and 20 are comparison circuits, 21 and 22 are AND gates, 23 are NOT gates, 24 are OR gates, 100 to 10
7 is a storage device bank, and 110 is a control circuit for the storage device.
Claims (1)
序で順次アクセスする記憶装置と、 該記憶装置のデータを処理する第1演算部及び
第2演算部とを有し、 第2演算部は該記憶装置のアクセスサイクルに
等しい処理時間で、各該単位データを該アクセス
順に処理し、 第1演算部は第2演算部の整数X倍の処理時間
を要し、該記憶装置の同一の単位データ列にX回
の反復アクセスを行う内の、該列の各該単位デー
タごと1回のアクセスのみを有効アクセスとし
て、当該単位データを処理するベクトル処理装置
において、 第1の命令に続いて第2の命令を実行し、第1
の命令は第1演算部を使用して実行し、第2の命
令は第1の命令の処理結果である該記憶装置のデ
ータをオペランドとし、第2演算部を使用して実
行する場合に、 第1の命令の該処理結果データを該記憶装置に
格納するための第X回の該反復アクセスを行う最
初の該単位データのアクセス開始時以後であつ
て、該処理結果の最終単位データの格納処理開始
時より前に、第2の命令の実行を開始するように
構成されていることを特徴とする命令制御方式。[Claims] 1. A storage device that sequentially accesses a plurality of ordered unit data in a fixed order, and a first calculation unit and a second calculation unit that process data in the storage device, and a second calculation unit that processes data in the storage device. The arithmetic unit processes each of the unit data in the access order in a processing time equal to the access cycle of the storage device, and the first arithmetic unit requires an integer X times the processing time of the second arithmetic unit; In a vector processing device that processes unit data, with only one access for each unit data in the column being a valid access among the X number of repeated accesses to the same unit data column, Then execute the second command and
When the instruction is executed using the first arithmetic unit, the second instruction uses data in the storage device which is the processing result of the first instruction as an operand, and is executed using the second arithmetic unit, Storage of the final unit data of the processing result after the start of the first access of the unit data for performing the X-th repeated access for storing the processing result data of the first instruction in the storage device An instruction control method characterized by being configured to start execution of a second instruction before the start of processing.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3353184A JPS60178580A (en) | 1984-02-24 | 1984-02-24 | Instruction control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3353184A JPS60178580A (en) | 1984-02-24 | 1984-02-24 | Instruction control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60178580A JPS60178580A (en) | 1985-09-12 |
| JPH0512751B2 true JPH0512751B2 (en) | 1993-02-18 |
Family
ID=12389126
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3353184A Granted JPS60178580A (en) | 1984-02-24 | 1984-02-24 | Instruction control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60178580A (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0622035B2 (en) * | 1985-11-13 | 1994-03-23 | 株式会社日立製作所 | Vector processor |
| JPH0769821B2 (en) * | 1988-03-04 | 1995-07-31 | 日本電気株式会社 | Bypass line control method in information processing equipment |
| JPH01258068A (en) * | 1988-04-07 | 1989-10-16 | Fujitsu Ltd | Linkage control system for vector processor |
| JP2544817B2 (en) * | 1989-11-15 | 1996-10-16 | 甲府日本電気株式会社 | Vector processing device and vector processing method |
| JPH04116769A (en) * | 1990-09-07 | 1992-04-17 | Koufu Nippon Denki Kk | Vector processor |
| JP5699554B2 (en) * | 2010-11-11 | 2015-04-15 | 富士通株式会社 | Vector processing circuit, instruction issue control method, and processor system |
| JP5751181B2 (en) | 2012-01-24 | 2015-07-22 | 富士通セミコンダクター株式会社 | Instruction control circuit, processor, and instruction control method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS51854A (en) * | 1974-06-21 | 1976-01-07 | Hitachi Ltd | Deijitarukeisankino senkoseigyohoshiki |
| JPS5744173B2 (en) * | 1975-02-27 | 1982-09-20 | ||
| JPS57206982A (en) * | 1981-06-15 | 1982-12-18 | Fujitsu Ltd | Instruction controlling system |
| JPS5844569A (en) * | 1981-09-10 | 1983-03-15 | Fujitsu Ltd | Synchronous control system for instruction processing |
-
1984
- 1984-02-24 JP JP3353184A patent/JPS60178580A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60178580A (en) | 1985-09-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4740893A (en) | Method for reducing the time for switching between programs | |
| JPH0374434B2 (en) | ||
| JPH02130634A (en) | Processor system, computer system and instruction processing method | |
| US5438669A (en) | Data processor with improved loop handling utilizing improved register allocation | |
| US4677547A (en) | Vector processor | |
| JPH0776918B2 (en) | Data processing system and method | |
| JPH0348536B2 (en) | ||
| JPH0512751B2 (en) | ||
| JPH03233630A (en) | Information processor | |
| US4430708A (en) | Digital computer for executing instructions in three time-multiplexed portions | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| EP0279953A2 (en) | Computer system having mixed macrocode and microcode instruction execution | |
| JPS6116335A (en) | Information processor | |
| JP3520372B2 (en) | Elimination of critical path in operation of memory control unit and input / output control unit | |
| JP2668987B2 (en) | Data processing device | |
| JPS60241136A (en) | Data processor | |
| JP2636821B2 (en) | Parallel processing unit | |
| JP3102399B2 (en) | Data processing apparatus and method | |
| JPS595354A (en) | Data processing device | |
| JPS6134188B2 (en) | ||
| JPS6235694B2 (en) | ||
| JP2545594B2 (en) | Operand data prefetching method | |
| KR910007028B1 (en) | Pipeline processing method in data processing system | |
| JP3743155B2 (en) | Pipeline controlled computer | |
| JPS5897185A (en) | Memory access system |